如何表示python中的相對(duì)路徑
下面的路徑介紹針對(duì)windows在編寫的py文件中打開文件的時(shí)候經(jīng)常見到下面其中路徑的表達(dá)方式:
open('aaa.txt') open('/data/bbb.txt') open('D:\\user\\ccc.txt')
這三種表達(dá)式里面,前兩個(gè)都是相對(duì)路徑,第三個(gè)則是絕對(duì)路徑。絕對(duì)路徑比較好理解,就是最完整的路徑,相對(duì)路徑的相對(duì)則是不完整路徑,這個(gè)相對(duì)指的就是相對(duì)于當(dāng)前文件夾路徑,其實(shí)就是你編寫的這個(gè)py文件所放的文件夾路徑!也就是說(shuō)你寫的相對(duì)路徑必須是當(dāng)前文件夾A里的文件a或者A里的文件夾B里的文件才可以open。
假設(shè)當(dāng)前的py文件夾所處的位置是:D:\user\public
那么三行代碼打開的文件所屬的路徑分別是:
D:\user\public\aaa.txt
D:\user\public\data\bbb.txt
D:\user\private\ccc.txt
很好理解就是當(dāng)要打開py文件所處的文件時(shí)只要使用相對(duì)路徑就行了,而要使用其他文件夾的則需使用絕對(duì)路徑。
注:我們常用'/‘來(lái)表示相對(duì)路徑,'\‘來(lái)表示絕對(duì)路徑,上面的路徑里\\是轉(zhuǎn)義的意思,不懂的自行百度。
此外,網(wǎng)頁(yè)網(wǎng)址和linux、unix系統(tǒng)下一般都用'/‘
當(dāng)然我們也可以獲得當(dāng)前文件夾的絕對(duì)路徑,如下:
import os path1=os.path.abspath('.') #表示當(dāng)前所處的文件夾的絕對(duì)路徑 path2=os.path.abspath('..') #表示當(dāng)前所處的文件夾上一級(jí)文件夾的絕對(duì)路徑
所以我們常設(shè)置一個(gè)path1的全局變量來(lái)表示當(dāng)前的絕對(duì)路徑,再加上相對(duì)路徑來(lái)打開需要打開的文件,這么做是為了在不同的平臺(tái)上不沖突,因?yàn)椴煌脚_(tái)在相對(duì)路徑上的表示上存在區(qū)別。
知識(shí)點(diǎn)擴(kuò)展:
1、絕對(duì)路徑
os.path.abspath("文件名"):
顯示的是一個(gè)文件的絕對(duì)路勁
>>> import os >>> os.chdir("E:\\PycharmProjects\\odycmdb\\odycmdb") >>> os.listdir() ['settings.py', 'urls.py', 'wsgi.py', '__init__.py', '__pycache__'] >>> os.path.abspath("settings.py") 'E:\\PycharmProjects\\odycmdb\\odycmdb\\settings.py'
2、相對(duì)路徑
os.path.dirname("文件名"):
顯示的是一個(gè)文件的相對(duì)路徑
>>> import os >>> os.chdir("E:\\PycharmProjects\\odycmdb\\odycmdb") >>> os.listdir() ['settings.py', 'urls.py', 'wsgi.py', '__init__.py', '__pycache__'] >>> os.path.dirname("settings.py")
到此這篇關(guān)于如何表示python中的相對(duì)路徑的文章就介紹到這了,更多相關(guān)python相對(duì)路徑寫法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python調(diào)用文件時(shí)找不到相對(duì)路徑的解決方案
- Python如何讀取相對(duì)路徑文件
- Python 相對(duì)路徑報(bào)錯(cuò):"No such file or directory"'原因及解決方法
- python文件讀取和導(dǎo)包的絕對(duì)路徑、相對(duì)路徑詳解
- Python 解決相對(duì)路徑問(wèn)題:"No such file or directory"
- 詳解在Python中以絕對(duì)路徑或者相對(duì)路徑導(dǎo)入文件的方法
- python中使用(.)進(jìn)行相對(duì)路徑訪問(wèn)文件的操作方法
相關(guān)文章
tensorflow 實(shí)現(xiàn)自定義layer并添加到計(jì)算圖中
今天小編就為大家分享一篇tensorflow 實(shí)現(xiàn)自定義layer并添加到計(jì)算圖中,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02python?request要求接口參數(shù)必須是json數(shù)據(jù)的處理方式
這篇文章主要介紹了python?request要求接口參數(shù)必須是json數(shù)據(jù)的處理方式,Reqeusts支持以form表單形式發(fā)送post請(qǐng)求,只需要將請(qǐng)求的參數(shù)構(gòu)造成一個(gè)字典,然后傳給requests.post()的data參數(shù)即可,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2022-08-08Python?中的?Counter?模塊及使用詳解(搞定重復(fù)計(jì)數(shù))
Counter 是一個(gè)簡(jiǎn)單的計(jì)數(shù)器,用于統(tǒng)計(jì)某些可哈希對(duì)象的數(shù)量。它以字典的形式存儲(chǔ)元素和它們的計(jì)數(shù),這篇文章主要介紹了Python?中的?Counter?模塊及使用詳解(搞定重復(fù)計(jì)數(shù)),需要的朋友可以參考下2023-04-04如何實(shí)現(xiàn)Python調(diào)用Golang代碼詳解
這篇文章主要介紹了如何實(shí)現(xiàn)Python調(diào)用Golang代碼,Python和Golang都是當(dāng)下非常流行的編程語(yǔ)言,在實(shí)際開發(fā)中,我們可能會(huì)遇到需要將Python和Golang進(jìn)行組合使用的場(chǎng)景,感興趣想要詳細(xì)了解可以參考下文2023-05-05Python中try excpet BaseException(異常處理捕獲)的使用
本文主要介紹了Python中try excpet BaseException(異常處理捕獲)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03PyQT5 實(shí)現(xiàn)快捷鍵復(fù)制表格數(shù)據(jù)的方法示例
這篇文章主要介紹了PyQT5 實(shí)現(xiàn)快捷鍵復(fù)制表格數(shù)據(jù)的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06