Python如何使用pathlib模塊處理文件路徑
在Python中處理文件路徑
下面將詳細(xì)介紹如何使用 pathlib
模塊來處理文件路徑。我們將從創(chuàng)建 Path
對象、絕對路徑與相對路徑、訪問文件路徑分量,以及檢查文件路徑是否存在等幾個方面進(jìn)行講解。
1. 創(chuàng)建 Path 對象
要使用 pathlib
,首先需要導(dǎo)入模塊并創(chuàng)建一個 Path
對象。
from pathlib import Path # 創(chuàng)建表示當(dāng)前工作目錄的Path對象 current_directory = Path.cwd() print(f"當(dāng)前工作目錄: {current_directory}") # 創(chuàng)建表示特定文件的Path對象 file_path = Path("example.txt") print(f"指定文件路徑: {file_path}")
2. 絕對路徑與相對路徑
- 絕對路徑是指從根目錄開始的完整路徑。
- 相對路徑是相對于當(dāng)前工作目錄的路徑。
# 獲取絕對路徑 absolute_path = file_path.resolve() print(f"絕對路徑: {absolute_path}") # 使用相對路徑創(chuàng)建Path對象 relative_path = Path("subfolder/example.txt") print(f"相對路徑: {relative_path}")
3. 訪問文件路徑分量
Path
對象提供了一些屬性和方法,用于訪問文件路徑的不同部分。
# 分析文件路徑 print(f"文件名: {file_path.name}") # 文件名 print(f"文件后綴: {file_path.suffix}") # 文件擴(kuò)展名 print(f"文件名(不帶擴(kuò)展): {file_path.stem}") # 不帶擴(kuò)展的文件名 print(f"父級目錄: {file_path.parent}") # 父目錄 print(f"根目錄: {file_path.anchor}") # 根目錄(在Windows上為驅(qū)動器字母)
4. 檢查文件路徑是否存在
可以使用 exists()
方法來檢查文件或目錄是否存在,此外,還有其他有用的方法。
# 檢查文件是否存在 if file_path.exists(): print(f"{file_path} 文件存在") else: print(f"{file_path} 文件不存在") # 檢查是否是文件 if file_path.is_file(): print(f"{file_path} 是一個文件") elif file_path.is_dir(): print(f"{file_path} 是一個目錄") else: print(f"{file_path} 既不是文件也不是目錄")
5. 其他實用方法
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
對象使用Path()
來表示文件或目錄。 - 絕對路徑與相對路徑可以通過
resolve()
方法獲取絕對路徑。 - 訪問文件路徑分量可以使用多種屬性如
.name
,.suffix
,.stem
,.parent
等。 - 檢查文件路徑是否存在可以使用
exists()
,is_file()
,is_dir()
等方法。
使用 pathlib
可以使得文件路徑操作變得更加簡潔明了,非常適合現(xiàn)代Python編程。
到此這篇關(guān)于Python如何使用pathlib模塊處理文件路徑的文章就介紹到這了,更多相關(guān)Python pathlib處理文件路徑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python如何利用plt.legend()添加圖例代碼示例
用python的matplotlib畫圖時,往往需要加圖例說明,下面這篇文章主要給大家介紹了關(guān)于python如何利用plt.legend()添加圖例的相關(guān)資料,文中通過代碼介紹的非常詳細(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)化為浮點型的問題,今天整理下,我只講幾個我常用的,對Pytorch數(shù)據(jù)類型轉(zhuǎn)換相關(guān)知識感興趣的朋友一起看看吧2023-02-02在前女友婚禮上,用Python破解了現(xiàn)場的WIFI還把名稱改成了
今日重點:① python暴力拿下WiFi密碼,②python拿下路由器管理頁面,文中有非常詳細(xì)的代碼示例,干貨滿滿,,需要的朋友可以參考下2021-05-05