【相對路徑與絕對路徑】
【?】如果我們要打開/操作一個文件,是用絕對路徑還是相對路徑更好些?
#相對路徑:以當前文件為基准進行一級級目錄指向被引用的資源文件
# 絕對路徑:文件的真正存在的路徑,是指從硬盤的根目錄(盤符)開始,進行一級級目錄指向文件(從根目錄一層層讀寫)
# 場景:當要打開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(加了反斜杠證明進入下一級)

【拓展】給定一個路徑,請打印所有路徑,直至路徑下不再有路徑為止(相當於是打印所有的路徑)
#思路:遞歸函數,寫成一個函數
