file文件【相對路徑與絕對路徑】


【相對路徑與絕對路徑】

【?】如果我們要打開/操作一個文件,是用絕對路徑還是相對路徑更好些?

#相對路徑:以當前文件為基准進行一級級目錄指向被引用的資源文件

# 絕對路徑:文件的真正存在的路徑,是指從硬盤的根目錄(盤符)開始,進行一級級目錄指向文件(從根目錄一層層讀寫)      

# 場景:當要打開py文件所處的文件時只要使用相對路徑就行了,而要使用其他文件夾的則需使用絕對路徑

# 通常用’/‘來表示相對路徑,’\‘來表示絕對路徑

# 以下是常用的表示當前目錄和當前目錄的父級目錄的標識符   

    ../ 表示當前文件所在的目錄的上一級目錄  
    ./ 表示當前文件所在的目錄(可以省略)
    / 表示當前站點的根目錄(域名映射的硬盤目錄)

總結:

  通過總結可以發現,當你要導入的文件在和你的當前文件在同一個目錄時,你直接導入這個文件名就好了。

  當你要導入的文件或者目錄不和你的當前文件同目錄時,你需要跳到這個你要導入文件的父級目錄,然后一級一級的用點號連接走過的目錄或者文件,然后就可以了 至於要怎么跳到這個這個父級目錄。比較通用的就是,將父級目錄加入系統路徑,然后用點號一級一級的尋找,直到到達你要導入的模塊。

 

文件夾的相關操作

# 新建一個目錄/新建一個文件夾

說明:文件夾的相關操作需要python的os模塊支持

1、路徑的獲取

獲取當前所在工作目錄:os.getcwd()  # 具體到最后一級目錄

獲取當前文件所在絕對路徑:os.path.realpath(__file__)  # 具體到模塊名(文件名),等同於 os.path.abspath(__file__)

      

2、創建目錄

創建文件夾:os.mkdir("test")

跨級創建文件夾:os.mkdir("test/test01")    #用‘/’代表路徑的不同層級,必須確保test文件夾(上面的層級)是存在的,要注意避免成為轉義字符

   【備注】# 轉義字符:/r、/t等 --可百度,路徑中若想避免則可以變為‘//’或者路徑首位加‘r’  (2)# ‘反斜杠’ 和 ‘正斜杠’ 無區別,單雙斜杠也沒有區別

3、刪除目錄

刪除文件夾:os.rmdir("test")  

層級刪除文件夾:os.rmdir("test/test01")  # 已存在子目錄的情況下,需要層級刪除不能直接刪除test

4、拓展

跳轉到其他目錄:os.chdir("aaa")

獲取目錄下文件夾和文件名稱:os.listdir()(得到的數據類型是列表)  如:print(os.listdir(os.getcwd())) #羅列當前所有的目錄和文件      

5、判斷是文件還是目錄

文件:os.path.isfile()

目錄:os.path.isdir()

    # 判斷是否是文件   isfile
    print(os.path.isfile(__file__))
    print(os.path.isfile(os.getcwd())) #getcwd 確定的是最后一級目錄,返回值是布爾值

  # 判斷是否是目錄 isdir
    print(os.path.isdir(os.getcwd())) #返回值是布爾值 dir directory
    print(os.path.isdir(__file__)) 

6、判斷文件是否存在

               os.path.exists(path) ----- 檢驗給出的路徑是否存在,返回bool值

 

【?】如何拼接路徑  

 方法1:  # 路徑拼接,用“+”

       

方法2:  #方法2 join(加了反斜杠證明進入下一級)

      

 

【拓展】給定一個路徑,請打印所有路徑,直至路徑下不再有路徑為止(相當於是打印所有的路徑)

        #思路:遞歸函數,寫成一個函數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM