ps做網(wǎng)站要求高嗎企業(yè)qq一年多少費(fèi)用
自學(xué)python如何成為大佬(目錄):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501
用于定位一個(gè)文件或者目錄的字符串被稱為一個(gè)路徑。在程序開發(fā)時(shí),通常涉及兩種路徑,一種是相對(duì)路徑,另一種是絕對(duì)路徑。
(1)相對(duì)路徑
在學(xué)習(xí)相對(duì)路徑之前,需要先了解什么是當(dāng)前工作目錄。當(dāng)前工作目錄是指當(dāng)前文件所在的目錄。在Python中,可以通過os模塊提供的getcwd()函數(shù)獲取當(dāng)前工作目錄。例如,在E:\program\Python\Code\demo.py文件中,編寫以下代碼:
import?os????????
print(os.getcwd())????#?輸出當(dāng)前目錄
執(zhí)行上面的代碼后,將顯示以下目錄,該路徑就是當(dāng)前工作目錄。
E:\program\Python\Code
相對(duì)路徑就是依賴于當(dāng)前工作目錄的。如果在當(dāng)前工作目錄下,有一個(gè)名稱為message.txt的文件,那么在打開這個(gè)文件時(shí),就可以直接寫上文件名,這時(shí)采用的就是相對(duì)路徑,message.txt文件的實(shí)際路徑就是當(dāng)前工作目錄“E:\program\Python\Code”+相對(duì)路徑“message.txt”,即“E:\program\Python\Code\message.txt”。
如果在當(dāng)前工作目錄下,有一個(gè)子目錄demo,并且在該子目錄下保存著文件message.txt,那么在打開這個(gè)文件時(shí)就可以寫上“demo/message.txt”,例如下面的代碼:
with?open("demo/message.txt")?as?file:????#?通過相對(duì)路徑打開文件
????pass
說明:在Python中,指定文件路徑時(shí)需要對(duì)路徑分隔符“\”進(jìn)行轉(zhuǎn)義,即將路徑中的“\”替換為“\\”。例如對(duì)于相對(duì)路徑“demo\message.txt”需要使用“demo\\message.txt”代替。另外,也可以將路徑分隔符“\”采用“/”代替。
多學(xué)兩招:在指定文件路徑時(shí),也可以在表示路徑的字符串前面加上字母r(或R),那么該字符串將原樣輸出,這時(shí)路徑中的分隔符就不需要再轉(zhuǎn)義了。例如,上面的代碼也可以修改為以下內(nèi)容:
with?open(r"demo\message.txt")?as?file:????#?通過相對(duì)路徑打開文件
????pass
(2)絕對(duì)路徑
絕對(duì)路徑是指在使用文件時(shí)指定文件的實(shí)際路徑。它不依賴于當(dāng)前工作目錄。在Python中,可以通過os.path模塊提供的abspath()函數(shù)獲取一個(gè)文件的絕對(duì)路徑。abspath()函數(shù)的基本語法格式如下:
os.path.abspath(path)
其中,path為要獲取絕對(duì)路徑的相對(duì)路徑,可以是文件也可以是目錄。
例如,要獲取相對(duì)路徑“demo\message.txt”的絕對(duì)路徑,可以使用下面的代碼:
import?os
print(os.path.abspath(r"demo\message.txt"))????#?獲取絕對(duì)路徑
如果當(dāng)前工作目錄為“E:\program\Python\Code”,那么將得到以下結(jié)果:
E:\program\Python\Code\demo\message.txt
(3)拼接路徑
如果想要將兩個(gè)或者多個(gè)路徑拼接到一起組成一個(gè)新的路徑,可以使用os.path模塊提供的join()函數(shù)實(shí)現(xiàn)。join()函數(shù)基本語法格式如下:
os.path.join(path1[,path2[,……]])
其中,path1、path2用于代表要拼接的文件路徑,這些路徑間使用逗號(hào)進(jìn)行分隔。如果在要拼接的路徑中,沒有一個(gè)絕對(duì)路徑,那么最后拼接出來的將是一個(gè)相對(duì)路徑。
注意:使用os.path.join()函數(shù)拼接路徑時(shí),并不會(huì)檢測(cè)該路徑是否真實(shí)存在。
例如,需要將“E:\program\Python\Code”和“demo\message.txt”路徑拼接到一起,可以使用下面的代碼。
import?os
print(os.path.join("E:\program\Python\Code","demo\message.txt")) ????????#?拼接字符串
執(zhí)行上面的代碼,將得到以下結(jié)果:
E:\program\Python\Code\demo\message.txt
說明:在使用join()函數(shù)時(shí),如果要拼接的路徑中,存在多個(gè)絕對(duì)路徑,那么以從左到右為序最后一次出現(xiàn)的路徑為準(zhǔn),并且該路徑之前的參數(shù)都將被忽略。例如,執(zhí)行下面的代碼:
import?os
print(os.path.join("E:\\code","E:\\python\\mr","Code","C:\\","demo"))????#?拼接字符串
將得到拼接后的路徑為“C:\demo”。
注意:把兩個(gè)路徑拼接為一個(gè)路徑時(shí),不要直接使用字符串拼接,而是使用os.path.join()函數(shù),這樣可以正確處理不同操作系統(tǒng)的路徑分隔符。
?