====== Pathモジュールによるファイル操作 ====== [[:python|一つ上へ]] ここでは、Pathモジュールを使ったファイル、フォルダの操作について記載する。 ===== ファイルの検索 ===== ==== フォルダの確認 ==== Pathモジュールのexists()メソッドを使用する。 from pathlib import Path dir = Path('C:/Users/CGK/Documents/IT/Python/test/images') dir.exists() ==== ディレクトリ内にある特定のファイルを探す ==== ディレクトリの中にあるファイル名パターンが^^**"file-*.txt"^^**であるファイルを探す場合、 directory = Path("/path/to/directory") pattern = "file-*.txt" files = [path for path in directory.glob(pattern)] # パターンに該当したファイルパスのリスト 加えて、ファイルの更新日時やサイズなどを取得するには、**stat()**メソッドを使用する。 属性を指定することで、それぞれの値を取得できる。 ^属性^説明^ |st_mtime|更新日時| |st_size|ファイルサイズ| |name|ファイル名を取得| |suffix|拡張子を取得| |stem|拡張子を除いたファイル名部分| |parent|親ディレクトリ| ===== ファイル作成 ===== ==== フォルダを作成する ==== ^オプション^説明およびクエリ^ |parents |True => 親ディレクトリがなければ作成 \\ False => 親ディレクトリがなければエラー | |exist_ok|True => ディレクトリが既にある場合でも処理を続行\\ False => ディレクトリが既にある場合はFileExistExceptionとなる。| 例えば、**C:\Users\User\Documents**の中にtestというフォルダを作成する場合は以下のように記載する。 from pathlib import Path dir = Path('C:/Users/User/Documents/test') dir.mkdir(parents=True, exist_ok=True) ===== ファイルの移動 ===== ファイルを移動するにはshutilのmove()メソッドを使用する。 from pathlib import Path import shutil # 移動元のパス src = Path("old_file.txt") # 移動先のパス dst = Path("new_directory/new_file.txt") shutil.move(src, dst)