1. 程式人生 > 其它 >一個超好用的 Python 標準庫,徹底玩透路徑操作

一個超好用的 Python 標準庫,徹底玩透路徑操作

pathlib

學習 Python 時,尤其是在進行檔案操作和資料處理時,經常會處理路徑問題。最常用和常見的是 os.path 模組,它將路徑當做字串進行處理,如果使用不當可能導致難以察覺的錯誤,而且程式碼很難跨平臺複用。pathlib 就是一個非常棒的Python標準庫,超級好用。

pathlib模組提供了一種在 POSIX 系統(如 Linux 和 Windows)下執行良好的高階抽象。pathlib 抽象了資源路徑和資源命名結構,它把檔案系統介面從os模組中隔離出來,將操作作為方法提供,使用更簡單。

下面這張圖,完美詮釋pathlib的核心

>>> from pathlib import Path

>>> path = Path(r'C:/Users/Miguel/projects/blog/config.tar.gz')

>>> path.drive
'C:'

>>> path.root
'/'

>>> path.root
'C:/'

>>> path.parent
WindowsPath('C:/Users/Miguel/projects/blog')

>>> path.name
'config.tar.gz'

>>> path.stem
'config.tar'

>>> path.suffix
'.gz'

>>> path.suffixes
['.tar', '.gz']

常用屬性和基本方法

pathlib的常用屬性

Path.parents  # 返回所有上級目錄的列表

Path.parts  # 分割路徑 類似os.path.split(), 不過返回元組

Path.suffix   # 返回檔案字尾

pathlib的常用基本方法

Path.is_dir()  # 判斷是否是目錄

Path.is_file()  # 是否是檔案

Path.exists()  # 判斷路徑是否存在

Path.open()  # 開啟檔案(支援with)

Path.resolve()  # 返回絕對路徑

Path.cwd()  # 返回當前目錄

Path.iterdir()  # 遍歷目錄的子目錄或者檔案

Path.mkdir()  # 建立目錄

Path.rename()  # 重新命名路徑

Path.unlink()  # 刪除檔案或目錄(目錄非空觸發異常)

Path.joinpath()  # 拼接路徑

os and os.path VS pathlib

pathlib 可替代 os 和 os.path 的常用功能:

總結

pathlib 將路徑作為物件建立,提供了處理檔案路徑的方便快捷的方法。

本文我並沒有羅列pathlib的每一個用法,最核心的是要充分理解 pathlib 基本元件,然後有疑問去查文件即可。

參考:
https://miguendes.me/python-pathlib
https://docs.python.org/3/library/pathlib.html
https://www.cnblogs.com/poloyy/p/12435628.html