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)