Skip to content

pathlib#

基本操作#

基本操作
from pathlib import Path

# home ディレクトリ取得
home = Path(str(Path.home()))

# path の結合   
Downloads = Path(home + r"\Downloads")

# 文字列からpath オブジェクト生成
documents = Path(r'C:\Users\omron\Documents')
print(type(documents))
# <class 'pathlib.WindowsPath'>


# path オブジェクトで用意されたメソッド
documents.is_file() 
documents.exists() 
Path(r'C:\Users\omron\Documents\test.txt').touch() # 空のファイルを作成

# ディレクトリ直下のパス一覧のイテレータを取得
Path(r'C:\Users\omron\Documents').iterdir()
# generator object Path.iterdir at 0x000002CE211B29E0>

# list で取得
list(Path(r'C:\Users\omron\Documents').iterdir())

# Pathlib の glob メソッド
(list(Path(r'C:\Users\omron\Documents').glob('**/*.txt')))



# path モジュールのopen メソッドでファイルを開く
with Path(home + r"\Documents\test.txt").open(mode='w') as f:
    f.write('test')

# Python3.5 以降サポート
# テキストファイルの読み込み
# 存在しないファイルの場合はエラー
Path(home + r"\Documents\test.txt").read_text()

# テキストファイルの書き込み(上書きのため元の内容は削除される)
Path(home + r"\Documents\test.txt").write_text("test")

ファイルの日時取得#

from pathlib import Path

# home ディレクトリ取得
f = Path(str(Path.home() + "test.txt"))

f.stat().st_ctime # 作成日時
f.stat().st_mtime # 更新日時
f.stat().st_atime # アクセス日時

フォルダ操作#

フォルダ操作
from pathlib import Path

p = Path(str(Path.home()) + r'\test')

# ディレクトリを作成: mkdir()
p.mkdir()

# 中間ディレクトリもまとめて作成: 引数parents
p.mkdir(parents=True)

# ディレクトリがすでに存在していてもエラーにしない: 引数exist_ok
p.mkdir(exist_ok=True)

# ディレクトリを削除: rmdir()
# rmdir()が削除できるのは中身が空のディレクトリのみ
p.rmdir()

# 中身ごと削除するには: shutil.rmtree()
# ※pathlib モジュールだけでは中身ごと削除は不可
import shutil

shutil.rmtree(p)