Python如何使用pathlib模塊處理文件路徑
在Python中處理文件路徑
下面將詳細(xì)介紹如何使用 pathlib
模塊來(lái)處理文件路徑。我們將從創(chuàng)建 Path
對(duì)象、絕對(duì)路徑與相對(duì)路徑、訪問(wèn)文件路徑分量,以及檢查文件路徑是否存在等幾個(gè)方面進(jìn)行講解。
1. 創(chuàng)建 Path 對(duì)象
要使用 pathlib
,首先需要導(dǎo)入模塊并創(chuàng)建一個(gè) Path
對(duì)象。
from pathlib import Path # 創(chuàng)建表示當(dāng)前工作目錄的Path對(duì)象 current_directory = Path.cwd() print(f"當(dāng)前工作目錄: {current_directory}") # 創(chuàng)建表示特定文件的Path對(duì)象 file_path = Path("example.txt") print(f"指定文件路徑: {file_path}")
2. 絕對(duì)路徑與相對(duì)路徑
- 絕對(duì)路徑是指從根目錄開(kāi)始的完整路徑。
- 相對(duì)路徑是相對(duì)于當(dāng)前工作目錄的路徑。
# 獲取絕對(duì)路徑 absolute_path = file_path.resolve() print(f"絕對(duì)路徑: {absolute_path}") # 使用相對(duì)路徑創(chuàng)建Path對(duì)象 relative_path = Path("subfolder/example.txt") print(f"相對(duì)路徑: {relative_path}")
3. 訪問(wèn)文件路徑分量
Path
對(duì)象提供了一些屬性和方法,用于訪問(wèn)文件路徑的不同部分。
# 分析文件路徑 print(f"文件名: {file_path.name}") # 文件名 print(f"文件后綴: {file_path.suffix}") # 文件擴(kuò)展名 print(f"文件名(不帶擴(kuò)展): {file_path.stem}") # 不帶擴(kuò)展的文件名 print(f"父級(jí)目錄: {file_path.parent}") # 父目錄 print(f"根目錄: {file_path.anchor}") # 根目錄(在Windows上為驅(qū)動(dòng)器字母)
4. 檢查文件路徑是否存在
可以使用 exists()
方法來(lái)檢查文件或目錄是否存在,此外,還有其他有用的方法。
# 檢查文件是否存在 if file_path.exists(): print(f"{file_path} 文件存在") else: print(f"{file_path} 文件不存在") # 檢查是否是文件 if file_path.is_file(): print(f"{file_path} 是一個(gè)文件") elif file_path.is_dir(): print(f"{file_path} 是一個(gè)目錄") else: print(f"{file_path} 既不是文件也不是目錄")
5. 其他實(shí)用方法
pathlib
還提供了許多其他有用的方法,如遍歷目錄、讀取文件內(nèi)容等。
遍歷目錄中的所有文件
# 列出當(dāng)前目錄下的所有文件和子目錄 for item in current_directory.iterdir(): print(item)
讀取文件內(nèi)容
# 讀取文件內(nèi)容(確保文件存在) if file_path.exists() and file_path.is_file(): with file_path.open('r') as f: content = f.read() print(content)
小結(jié)
- 創(chuàng)建
Path
對(duì)象使用Path()
來(lái)表示文件或目錄。 - 絕對(duì)路徑與相對(duì)路徑可以通過(guò)
resolve()
方法獲取絕對(duì)路徑。 - 訪問(wèn)文件路徑分量可以使用多種屬性如
.name
,.suffix
,.stem
,.parent
等。 - 檢查文件路徑是否存在可以使用
exists()
,is_file()
,is_dir()
等方法。
使用 pathlib
可以使得文件路徑操作變得更加簡(jiǎn)潔明了,非常適合現(xiàn)代Python編程。
到此這篇關(guān)于Python如何使用pathlib模塊處理文件路徑的文章就介紹到這了,更多相關(guān)Python pathlib處理文件路徑內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python爬取免費(fèi)代理并驗(yàn)證代理是否可用
這篇文章主要介紹了python爬取免費(fèi)代理并驗(yàn)證是否可用,通過(guò)本文給大家介紹了在什么情況下會(huì)用到代理并分享腳本的完整代碼,需要的朋友可以參考下2022-01-01python調(diào)用c++傳遞數(shù)組的實(shí)例
今天小編就為大家分享一篇python調(diào)用c++傳遞數(shù)組的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02Python Excel處理庫(kù)openpyxl使用詳解
openpyxl是一個(gè)第三方庫(kù),可以處理xlsx格式的Excel文件。這篇文章主要介紹了Python Excel處理庫(kù)openpyxl使用詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05python如何利用plt.legend()添加圖例代碼示例
用python的matplotlib畫(huà)圖時(shí),往往需要加圖例說(shuō)明,下面這篇文章主要給大家介紹了關(guān)于python如何利用plt.legend()添加圖例的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11Pytorch數(shù)據(jù)類型與轉(zhuǎn)換(torch.tensor,torch.FloatTensor)
這篇文章主要介紹了Pytorch數(shù)據(jù)類型轉(zhuǎn)換(torch.tensor,torch.FloatTensor),之前遇到轉(zhuǎn)為tensor轉(zhuǎn)化為浮點(diǎn)型的問(wèn)題,今天整理下,我只講幾個(gè)我常用的,對(duì)Pytorch數(shù)據(jù)類型轉(zhuǎn)換相關(guān)知識(shí)感興趣的朋友一起看看吧2023-02-02python tkinter Entry控件的焦點(diǎn)移動(dòng)操作
這篇文章主要介紹了python tkinter Entry控件的焦點(diǎn)移動(dòng)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05在前女友婚禮上,用Python破解了現(xiàn)場(chǎng)的WIFI還把名稱改成了
今日重點(diǎn):① python暴力拿下WiFi密碼,②python拿下路由器管理頁(yè)面,文中有非常詳細(xì)的代碼示例,干貨滿滿,,需要的朋友可以參考下2021-05-05