如何表示python中的相對路徑
下面的路徑介紹針對windows在編寫的py文件中打開文件的時(shí)候經(jīng)常見到下面其中路徑的表達(dá)方式:
open('aaa.txt')
open('/data/bbb.txt')
open('D:\\user\\ccc.txt')
這三種表達(dá)式里面,前兩個(gè)都是相對路徑,第三個(gè)則是絕對路徑。絕對路徑比較好理解,就是最完整的路徑,相對路徑的相對則是不完整路徑,這個(gè)相對指的就是相對于當(dāng)前文件夾路徑,其實(shí)就是你編寫的這個(gè)py文件所放的文件夾路徑!也就是說你寫的相對路徑必須是當(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í)只要使用相對路徑就行了,而要使用其他文件夾的則需使用絕對路徑。
注:我們常用'/‘來表示相對路徑,'\‘來表示絕對路徑,上面的路徑里\\是轉(zhuǎn)義的意思,不懂的自行百度。
此外,網(wǎng)頁網(wǎng)址和linux、unix系統(tǒng)下一般都用'/‘
當(dāng)然我們也可以獲得當(dāng)前文件夾的絕對路徑,如下:
import os
path1=os.path.abspath('.') #表示當(dāng)前所處的文件夾的絕對路徑
path2=os.path.abspath('..') #表示當(dāng)前所處的文件夾上一級文件夾的絕對路徑
所以我們常設(shè)置一個(gè)path1的全局變量來表示當(dāng)前的絕對路徑,再加上相對路徑來打開需要打開的文件,這么做是為了在不同的平臺上不沖突,因?yàn)椴煌脚_在相對路徑上的表示上存在區(qū)別。
知識點(diǎn)擴(kuò)展:
1、絕對路徑
os.path.abspath("文件名"):
顯示的是一個(gè)文件的絕對路勁
>>> 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、相對路徑
os.path.dirname("文件名"):
顯示的是一個(gè)文件的相對路徑
>>> 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中的相對路徑的文章就介紹到這了,更多相關(guān)python相對路徑寫法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中使用sqlalchemy操作數(shù)據(jù)庫的問題總結(jié)
在探索使用?FastAPI,?SQLAlchemy,?Pydantic,Redis,?JWT?構(gòu)建的項(xiàng)目的時(shí)候,其中數(shù)據(jù)庫訪問采用SQLAlchemy,并采用異步方式,這篇文章主要介紹了在Python中使用sqlalchemy來操作數(shù)據(jù)庫的幾個(gè)小總結(jié),需要的朋友可以參考下2024-08-08
Python實(shí)現(xiàn)簡單層次聚類算法以及可視化
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)簡單層次聚類算法以及可視化,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03
30行Python代碼實(shí)現(xiàn)高分辨率圖像導(dǎo)航的方法
這篇文章主要介紹了30行Python代碼實(shí)現(xiàn)高分辨率圖像導(dǎo)航的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
python GUI庫圖形界面開發(fā)之PyQt5選項(xiàng)卡控件QTabWidget詳細(xì)使用方法與實(shí)例
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5選項(xiàng)卡控件QTabWidget詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下2020-03-03
python將Dataframe格式的數(shù)據(jù)寫入opengauss數(shù)據(jù)庫并查詢
這篇文章主要介紹了python將Dataframe格式的數(shù)據(jù)寫入opengauss數(shù)據(jù)庫并查詢,文章介紹詳細(xì)具有一定的參考價(jià)值,希望對你的學(xué)習(xí)有所幫助2022-04-04
python支持?jǐn)帱c(diǎn)續(xù)傳的多線程下載示例
這篇文章主要介紹了python支持?jǐn)帱c(diǎn)續(xù)傳的多線程下載示例,大家參考使用吧2014-01-01
python實(shí)現(xiàn)FTP文件傳輸?shù)姆椒ǎǚ?wù)器端和客戶端)
FTP(File Transfer Protocol,文件傳輸協(xié)議) 是 TCP/IP 協(xié)議組中的協(xié)議之一。接下來通過本文給大家介紹關(guān)于python實(shí)現(xiàn)FTP文件傳輸?shù)南嚓P(guān)知識(服務(wù)器端和客戶端) ,需要的朋友可以參考下2020-03-03

