Python開(kāi)發(fā)教程之os.path的常用操作總結(jié)
前言
Python的os模塊(operating system)是提供給用戶來(lái)與操作系統(tǒng)進(jìn)行交互的內(nèi)置庫(kù),可以用來(lái)進(jìn)行文件和目錄的管理操作。它提供了一系列函數(shù),允許你創(chuàng)建、刪除、重命名、遍歷以及獲取文件和目錄的信息。本文我將為大家介紹這個(gè)內(nèi)置庫(kù)在路徑管理中的一些常用基本操作。
路徑管理 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é)果便是最后一部分,無(wú)論這個(gè)路徑是否有效
3.找到多個(gè)字符串路徑的最長(zhǎng)公共路徑(有效真實(shí)的路徑)
使用os.path.commompath()函數(shù)即可實(shí)現(xiàn)上述功能,一般而言,我們可以用它來(lái)查找文件的根目錄。
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)該功能,不過(guò)需要注意的是該函數(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ù),主要用來(lái)判斷給定路徑是否真實(shí)有效,返回值為T(mén)rue 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)我們開(kāi)發(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)中用來(lái)??存儲(chǔ)系統(tǒng)配置信息和用戶設(shè)置??的鍵值對(duì)(key-value pairs),可以被操作系統(tǒng)和應(yīng)用程序訪問(wèn)使用。在windows系統(tǒng)中,可以運(yùn)行:
"SystemPropertiesAdvanced.exe"打開(kāi)系統(tǒng)屬性面板后,點(diǎn)擊環(huán)境變量來(lái)手動(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.獲取給定路徑下的文件最后訪問(wèn)時(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開(kāi)發(fā)教程之os.path常用操作的文章就介紹到這了,更多相關(guān)Python os.path常用操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)抓取騰訊視頻所有電影的示例代碼
這篇文章主要為大家介紹了如何使用python實(shí)現(xiàn)抓取騰訊視頻所有電影,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04Django框架實(shí)現(xiàn)逆向解析url的方法
這篇文章主要介紹了Django框架實(shí)現(xiàn)逆向解析url的方法,結(jié)合實(shí)例形式分析了Django逆向解析URL的原理、步驟、相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2018-07-07深入了解Python?Opencv數(shù)據(jù)增強(qiáng)
常見(jiàn)的數(shù)據(jù)增強(qiáng)操作有:按比例放大或縮小圖片、旋轉(zhuǎn)、平移、水平翻轉(zhuǎn)、改變圖像通道等。本文將通過(guò)Python?OpenCV實(shí)現(xiàn)這些操作,需要的可以參考一下2022-02-02Python + opencv對(duì)拍照得到的圖片進(jìn)行背景去除的實(shí)現(xiàn)方法
這篇文章主要介紹了Python + opencv對(duì)拍照得到的圖片進(jìn)行背景去除的實(shí)現(xiàn)方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11python 循環(huán)結(jié)構(gòu)練習(xí)題
這篇文章主要給大家分享的是python 循環(huán)結(jié)構(gòu)練習(xí)題,求兩個(gè)數(shù)最大公約數(shù)、整數(shù)反轉(zhuǎn):如12345,輸出54321等多個(gè)練習(xí)題,需要的朋友可以參考一下2021-11-11Pandas計(jì)算元素的數(shù)量和頻率的方法(出現(xiàn)的次數(shù))
本文主要介紹了Pandas計(jì)算元素的數(shù)量和頻率的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Python分支語(yǔ)句與循環(huán)語(yǔ)句應(yīng)用實(shí)例分析
這篇文章主要介紹了Python分支語(yǔ)句與循環(huán)語(yǔ)句應(yīng)用,結(jié)合具體實(shí)例形式詳細(xì)分析了Python分支語(yǔ)句與循環(huán)語(yǔ)句各種常見(jiàn)應(yīng)用操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2019-05-05