Python開發(fā)教程之os.path的常用操作總結(jié)
前言
Python的os模塊(operating system)是提供給用戶來與操作系統(tǒng)進(jìn)行交互的內(nèi)置庫,可以用來進(jìn)行文件和目錄的管理操作。它提供了一系列函數(shù),允許你創(chuàng)建、刪除、重命名、遍歷以及獲取文件和目錄的信息。本文我將為大家介紹這個(gè)內(nèi)置庫在路徑管理中的一些常用基本操作。

路徑管理 os.path
當(dāng)我們使用os進(jìn)行路徑管理時(shí),需要用到os.path這個(gè)類下的一些方法
1.相對(duì)路徑轉(zhuǎn)絕對(duì)路徑
使用os.path.abspath()即可實(shí)現(xiàn)將相對(duì)路徑轉(zhuǎn)換為絕對(duì)路徑
import os
os.path.abspath('情況表.xlsx')結(jié)果:

2.獲取路徑中的最后一部分內(nèi)容
使用os.path.basename()可以獲取路徑中的最后一部分內(nèi)容,如果該路徑指向的是一個(gè)文件,那么返回結(jié)果便是文件名,如果該路徑指向一個(gè)目錄,那么返回結(jié)果為目錄名。
import os os.path.basename(r'e:\\OneDrive\\Desktop\\幫忙\\畢業(yè)設(shè)計(jì).docx')
結(jié)果:

這里需要注意的是,對(duì)于basename函數(shù),只要傳入的字符串是pathLike(帶有\(zhòng):等標(biāo)識(shí)符)的,返回結(jié)果便是最后一部分,無論這個(gè)路徑是否有效
3.找到多個(gè)字符串路徑的最長(zhǎng)公共路徑(有效真實(shí)的路徑)
使用os.path.commompath()函數(shù)即可實(shí)現(xiàn)上述功能,一般而言,我們可以用它來查找文件的根目錄。
import os
paths=[
'/幫忙/畢業(yè)設(shè)計(jì).docx',
'/幫忙/情況表.xlsx',
]
print(os.path.commonpath(paths)) 結(jié)果:

這里需要注意的是commonpath函數(shù)傳入的路徑列表內(nèi)的所有路徑必須存在公共路徑,也就是具有相同根目錄,否則會(huì)報(bào)錯(cuò)。

4.找出多個(gè)字符串路徑的最長(zhǎng)公共前綴??
使用os.path.commonprefix()可以實(shí)現(xiàn)該功能,不過需要注意的是該函數(shù)接受的參數(shù)是任意字符串,返回值也是字符串,因此使用該函數(shù)并不能一定獲取到一個(gè)路徑。
import os
paths=[
'Goodnight',
'Goodmorning',
'Goodafternoon'
]
print(os.path.commonprefix(paths)) 結(jié)果:

5.判斷路徑是否真實(shí)存在
os.path.exists()是我們?cè)谶M(jìn)行路徑處理時(shí)使用頻率最高的一個(gè)函數(shù),主要用來判斷給定路徑是否真實(shí)有效,返回值為True or False.
import os print(os.path.exists(r'E:\OneDrive\Desktop\幫忙\畢業(yè)設(shè)計(jì).docx')) print(os.path.exists(r'E:\OneDrive\Desktop\幫忙\畢業(yè)設(shè)計(jì)'))
結(jié)果:

6.處理與用戶主目錄相關(guān)的路徑擴(kuò)展?
os.expanduser()函數(shù)可以實(shí)現(xiàn)上述操作,當(dāng)我們開發(fā)跨平臺(tái)應(yīng)用需要在用戶主目錄下配置文件時(shí)即可使用該函數(shù)。
import os
print(os.path.expanduser('~'))#輸出:'/home/username'(Linux)或'C:\\Users\\username(Windows)
print(os.path.expanduser('~/Documents'))#輸出:'/home/username/Documents'或'C:\\Users\\username\\Documents'結(jié)果:

7.擴(kuò)展路徑中的環(huán)境變量
環(huán)境變量(Environment Variables)是操作系統(tǒng)中用來??存儲(chǔ)系統(tǒng)配置信息和用戶設(shè)置??的鍵值對(duì)(key-value pairs),可以被操作系統(tǒng)和應(yīng)用程序訪問使用。在windows系統(tǒng)中,可以運(yùn)行:
"SystemPropertiesAdvanced.exe"打開系統(tǒng)屬性面板后,點(diǎn)擊環(huán)境變量來手動(dòng)管理。

使用os.path.expandvars()可以將包含環(huán)境變量引用(如 $VAR 或 ${VAR} 格式)的路徑字符串轉(zhuǎn)換為包含實(shí)際變量值的完整路徑。
import os var=os.path.expandvars(r"%wechatpath%") print(var)
結(jié)果:

7.獲取給定路徑下的文件創(chuàng)建時(shí)間
使用os.getctime()可以獲取給定路徑下的文件的創(chuàng)建時(shí)間,返回結(jié)果為從??紀(jì)元(1970-01-01 00:00:00 UTC)??到創(chuàng)建時(shí)間的秒數(shù)(浮點(diǎn)數(shù))
import os import time print(os.path.getctime(r'E:\OneDrive\Desktop\幫忙\畢業(yè)設(shè)計(jì).docx')) print(time.ctime(os.path.getctime(r'E:\OneDrive\Desktop\幫忙\畢業(yè)設(shè)計(jì).docx')))
特別地,如果我們想將返回值轉(zhuǎn)換為可讀的時(shí)間戳,可以使用time模塊下的ctime
結(jié)果:

8.獲取給定路徑下的文件最后訪問時(shí)間
使用os.getatime()可以獲取給定路徑下的文件的創(chuàng)建時(shí)間,返回結(jié)果為從??紀(jì)元(1970-01-01 00:00:00 UTC)??到創(chuàng)建時(shí)間的秒數(shù)(浮點(diǎn)數(shù))
import os import time print(os.path.getatime(r'E:\OneDrive\Desktop\幫忙\畢業(yè)設(shè)計(jì).docx')) print(time.ctime(os.path.getatime(r'E:\OneDrive\Desktop\幫忙\畢業(yè)設(shè)計(jì).docx')))
結(jié)果:

9.獲取給定路徑下的文件最后修改時(shí)間
import os import time print(os.path.getmtime(r'E:\OneDrive\Desktop\幫忙\畢業(yè)設(shè)計(jì).docx')) print(time.ctime(os.path.getmtime(r'E:\OneDrive\Desktop\幫忙\畢業(yè)設(shè)計(jì).docx')))
結(jié)果:

10.獲取給定路徑下的文件大小
使用os.path.getsize()函數(shù)可以實(shí)現(xiàn)這一功能,返回值的結(jié)果為文件的字節(jié)數(shù)Byte,若需要轉(zhuǎn)換為KB或MB或GB需要除1024.
import os
path=r'E:\OneDrive\Desktop\幫忙\畢業(yè)設(shè)計(jì).docx'
print(f'{round(os.path.getsize(path))}B')
print(f'{round(os.path.getsize(path)/1024)}KB')結(jié)果:

總結(jié)
到此這篇關(guān)于Python開發(fā)教程之os.path常用操作的文章就介紹到這了,更多相關(guān)Python os.path常用操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
K-近鄰算法的python實(shí)現(xiàn)代碼分享
這篇文章主要介紹了K-近鄰算法的python實(shí)現(xiàn)代碼分享,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
Python max內(nèi)置函數(shù)詳細(xì)介紹
這篇文章主要介紹了Python MAX內(nèi)置函數(shù)詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-11-11
Python文檔轉(zhuǎn)換之Markdown轉(zhuǎn)Word的高效實(shí)戰(zhàn)指南
本文將深入探討如何利用Python的強(qiáng)大能力,結(jié)合一個(gè)高效的文檔處理庫,實(shí)現(xiàn)Markdown到Word文檔的自動(dòng)化轉(zhuǎn)換,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2026-01-01
使用python讀取csv文件快速插入數(shù)據(jù)庫的實(shí)例
今天小編就為大家分享一篇使用python讀取csv文件快速插入數(shù)據(jù)庫的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06
詳解Python中使用base64模塊來處理base64編碼的方法
8bit的bytecode經(jīng)常會(huì)被用base64編碼格式保存,Python中自帶base64模塊對(duì)base64提供支持,這里我們就來詳解Python中使用base64模塊來處理base64編碼的方法,需要的朋友可以參考下2016-07-07
python實(shí)現(xiàn)對(duì)數(shù)據(jù)公鑰加密與私鑰解密
這篇文章主要為大家詳細(xì)介紹了如何使用python實(shí)現(xiàn)對(duì)數(shù)據(jù)公鑰加密與私鑰解密,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-06-06
pycharm打包py項(xiàng)目為.exe可執(zhí)行文件的兩種方式
本文主要介紹了pycharm打包py項(xiàng)目為.exe可執(zhí)行文件的兩種方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
Python模擬登陸淘寶并統(tǒng)計(jì)淘寶消費(fèi)情況的代碼實(shí)例分享
借助urllib、urllib2和BeautifulSoup等幾個(gè)模塊的常用爬蟲開發(fā)組合,我們能夠輕易實(shí)現(xiàn)一份淘寶對(duì)賬單,這里我們就來看一則Python模擬登陸淘寶并統(tǒng)計(jì)淘寶消費(fèi)情況的代碼實(shí)例分享:2016-07-07
Python3+selenium實(shí)現(xiàn)cookie免密登錄的示例代碼
這篇文章主要介紹了Python3+selenium實(shí)現(xiàn)cookie免密登錄的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03

