Python3使用絕對(duì)路徑和相對(duì)路徑

原文地址?https://www.cyberlight.xyz/passage/absolute-path

記錄我在Python中使用 相對(duì)路徑 和 絕對(duì)路徑 遇到的一些問(wèn)題。(筆記以Windows為例,同樣適用于 Linux 和 Mac OS)


環(huán)境:Windows 10, Python 3.8.1

一、概念及作用

絕對(duì)路徑指?完整的描述文件位置的路徑。

如,Windows下創(chuàng)建文件 test.txt,它的絕對(duì)路徑為?D:\study\Python\Python_test\test.txt ,如圖

使用絕對(duì)路徑能精準(zhǔn)定位文件在系統(tǒng)的位置,編程時(shí)能準(zhǔn)確調(diào)用文件。


相對(duì)路徑指?由這個(gè)文件所在的路徑引起的跟其它文件(或文件夾)的路徑關(guān)系。 程序中?即 '文件以主程序所在目錄為起點(diǎn),該目錄之后的文件路徑'。

我們繼續(xù)創(chuàng)建一個(gè)py主程序,它的絕對(duì)路徑為?D:\study\Python\test.py ,如下圖

若需要通過(guò) D:\study\Python\test.py?打開(kāi)上一步創(chuàng)建的 D:\study\Python\Python_test\test.txt ,可通過(guò)相對(duì)路徑打開(kāi),test.txt 相對(duì)于 test.py?的路徑為?Python_test\test.txt【注意不是\Python_test\test.txt,\Python_test\test.txt?代表系統(tǒng)根目錄下的該路徑(即?絕對(duì)路徑)】?,即為 test.txt?以? test.py?所在目錄為起點(diǎn) 的相對(duì)路徑。

實(shí)際編程中,我們往往需要程序擁有更強(qiáng)的可移植性。使用絕對(duì)路徑可能導(dǎo)致 '遷徙系統(tǒng)后,原路徑失效'。這時(shí)需要使用相對(duì)路徑,保證項(xiàng)目目錄內(nèi)的 子目錄 或 文件 相對(duì)位置的不變。


二、在Python3中使用絕對(duì)路徑和相對(duì)路徑

打開(kāi)第一步所建的?D:\study\Python\Python_test\test.txt,加入如下內(nèi)容(后文測(cè)試打開(kāi)),如圖

繼續(xù)編輯?D:\study\Python\test.py ,欲通過(guò)?D:\study\Python\test.py?打開(kāi)?D:\study\Python\Python_test\test.txt?中的內(nèi)容。


1.使用絕對(duì)路徑打開(kāi)

D:\study\Python\test.py 源碼如下

text = open("D:\\study\\Python\\Python_test\\test.txt").read()

print(text)

該程序的輸出如下圖

成功讀取?D:\study\Python\Python_test\test.txt?中的內(nèi)容了~

您可能好奇,為什么Python中讀取路徑為?D:\\study\\Python\\Python_test\\test.txt ,而不是?D:\study\Python\Python_test\test.txt 。Windows中以反斜杠(\)為路徑分隔,而在Python中用反斜杠(\)轉(zhuǎn)義字符,若輸入反斜杠(\)將報(bào)錯(cuò)。python字符串中,我們使用雙反斜杠(\\)表示反斜杠(\)。【用 Linux 和 Mac OS 的朋友不必在意這點(diǎn),這些環(huán)境中以斜杠(/)為路徑分隔】


2.使用相對(duì)路徑打開(kāi)

D:\study\Python\test.py 源碼如下

text = open("Python_test\\test.txt").read()

print(text)

該程序的輸出如下圖

PS:Python以相對(duì)路徑調(diào)用文件 可理解為 命令窗口的 cd?命令,熟悉 cd 命令 能更好使用Python相對(duì)路徑。


以上是這篇筆記的全部?jī)?nèi)容,感謝閱讀!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容