ファイル管理
記事
IT・テクノロジー
Import
from pathlib import Path
import shutil
import os
コピー
shutil.copy(src, dstフォルダ)
フォルダ全体
shutil.copytree(src, dst)
ファイル名を変更
shutil.copy(src, dstファイル)
移動
shutil.move(src, dstフォルダ)
名前を変更
os.rename(old, new)
削除
ファイル
パス.unlink()
フォルダ全体
shutil.rmtree(パス)
作成
フォルダ
パス.mkdir()
存在してたら何もしない
パス.mkdir(exist_ok=True)
ファイルとフォルダの一覧
[item for item in パス.iterdir()]
ファイルのみ
[item for item in パス.iterdir() if item.is_file()]
テキストファイルのみ
[item for item in パス.iterdir() if item.is_file() and item.suffix == ".txt"]
再帰的に抽出
[item for item in パス.rglob("*.txt")]
フォルダのみ
[item for item in パス.iterdir() if item.is_dir()]
ループ
for item in パス.iterdir():
拡張子でフィルタ
for item in パス.grob("*.拡張子")
複数の拡張子
extensions = ("*.拡張子1", ...)
files = []
for ext in extensions:
files.extend(パス.glob(ext))
再帰的にループ
ファイルとフォルダ
for item in パス.rglob("*"):
ファイルの種類でフィルタ
for item in パス.rglob("*.拡張子"):
ルートディレクトリ、フォルダ、ファイル
for folder_name, folders, files in os.walk(パス):
folder_name
現在のフォルダ
folders
サブフォルダ名のリスト
files
ファイル名のリスト