Python開發(fā)教程之os.path的常用操作總結
前言
Python的os模塊(operating system)是提供給用戶來與操作系統(tǒng)進行交互的內置庫,可以用來進行文件和目錄的管理操作。它提供了一系列函數,允許你創(chuàng)建、刪除、重命名、遍歷以及獲取文件和目錄的信息。本文我將為大家介紹這個內置庫在路徑管理中的一些常用基本操作。
路徑管理 os.path
當我們使用os進行路徑管理時,需要用到os.path這個類下的一些方法
1.相對路徑轉絕對路徑
使用os.path.abspath()即可實現(xiàn)將相對路徑轉換為絕對路徑
import os os.path.abspath('情況表.xlsx')
結果:
2.獲取路徑中的最后一部分內容
使用os.path.basename()可以獲取路徑中的最后一部分內容,如果該路徑指向的是一個文件,那么返回結果便是文件名,如果該路徑指向一個目錄,那么返回結果為目錄名。
import os os.path.basename(r'e:\\OneDrive\\Desktop\\幫忙\\畢業(yè)設計.docx')
結果:
這里需要注意的是,對于basename函數,只要傳入的字符串是pathLike(帶有\(zhòng):等標識符)的,返回結果便是最后一部分,無論這個路徑是否有效
3.找到多個字符串路徑的最長公共路徑(有效真實的路徑)
使用os.path.commompath()函數即可實現(xiàn)上述功能,一般而言,我們可以用它來查找文件的根目錄。
import os paths=[ '/幫忙/畢業(yè)設計.docx', '/幫忙/情況表.xlsx', ] print(os.path.commonpath(paths))
結果:
這里需要注意的是commonpath函數傳入的路徑列表內的所有路徑必須存在公共路徑,也就是具有相同根目錄,否則會報錯。
4.找出多個字符串路徑的最長公共前綴??
使用os.path.commonprefix()可以實現(xiàn)該功能,不過需要注意的是該函數接受的參數是任意字符串,返回值也是字符串,因此使用該函數并不能一定獲取到一個路徑。
import os paths=[ 'Goodnight', 'Goodmorning', 'Goodafternoon' ] print(os.path.commonprefix(paths))
結果:
5.判斷路徑是否真實存在
os.path.exists()是我們在進行路徑處理時使用頻率最高的一個函數,主要用來判斷給定路徑是否真實有效,返回值為True or False.
import os print(os.path.exists(r'E:\OneDrive\Desktop\幫忙\畢業(yè)設計.docx')) print(os.path.exists(r'E:\OneDrive\Desktop\幫忙\畢業(yè)設計'))
結果:
6.處理與用戶主目錄相關的路徑擴展?
os.expanduser()函數可以實現(xiàn)上述操作,當我們開發(fā)跨平臺應用需要在用戶主目錄下配置文件時即可使用該函數。
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'
結果:
7.擴展路徑中的環(huán)境變量
環(huán)境變量(Environment Variables)是操作系統(tǒng)中用來??存儲系統(tǒng)配置信息和用戶設置??的鍵值對(key-value pairs),可以被操作系統(tǒng)和應用程序訪問使用。在windows系統(tǒng)中,可以運行:
"SystemPropertiesAdvanced.exe"打開系統(tǒng)屬性面板后,點擊環(huán)境變量來手動管理。
使用os.path.expandvars()可以將包含環(huán)境變量引用(如 $VAR
或 ${VAR}
格式)的路徑字符串轉換為包含實際變量值的完整路徑。
import os var=os.path.expandvars(r"%wechatpath%") print(var)
結果:
7.獲取給定路徑下的文件創(chuàng)建時間
使用os.getctime()可以獲取給定路徑下的文件的創(chuàng)建時間,返回結果為從??紀元(1970-01-01 00:00:00 UTC)??到創(chuàng)建時間的秒數(浮點數)
import os import time print(os.path.getctime(r'E:\OneDrive\Desktop\幫忙\畢業(yè)設計.docx')) print(time.ctime(os.path.getctime(r'E:\OneDrive\Desktop\幫忙\畢業(yè)設計.docx')))
特別地,如果我們想將返回值轉換為可讀的時間戳,可以使用time模塊下的ctime
結果:
8.獲取給定路徑下的文件最后訪問時間
使用os.getatime()可以獲取給定路徑下的文件的創(chuàng)建時間,返回結果為從??紀元(1970-01-01 00:00:00 UTC)??到創(chuàng)建時間的秒數(浮點數)
import os import time print(os.path.getatime(r'E:\OneDrive\Desktop\幫忙\畢業(yè)設計.docx')) print(time.ctime(os.path.getatime(r'E:\OneDrive\Desktop\幫忙\畢業(yè)設計.docx')))
結果:
9.獲取給定路徑下的文件最后修改時間
import os import time print(os.path.getmtime(r'E:\OneDrive\Desktop\幫忙\畢業(yè)設計.docx')) print(time.ctime(os.path.getmtime(r'E:\OneDrive\Desktop\幫忙\畢業(yè)設計.docx')))
結果:
10.獲取給定路徑下的文件大小
使用os.path.getsize()函數可以實現(xiàn)這一功能,返回值的結果為文件的字節(jié)數Byte,若需要轉換為KB或MB或GB需要除1024.
import os path=r'E:\OneDrive\Desktop\幫忙\畢業(yè)設計.docx' print(f'{round(os.path.getsize(path))}B') print(f'{round(os.path.getsize(path)/1024)}KB')
結果:
總結
到此這篇關于Python開發(fā)教程之os.path常用操作的文章就介紹到這了,更多相關Python os.path常用操作內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python + opencv對拍照得到的圖片進行背景去除的實現(xiàn)方法
這篇文章主要介紹了Python + opencv對拍照得到的圖片進行背景去除的實現(xiàn)方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11Pandas計算元素的數量和頻率的方法(出現(xiàn)的次數)
本文主要介紹了Pandas計算元素的數量和頻率的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02