Pythonでファイル操作
書きかけだけど公開しておく。
まずは
import
import shutil from pathlib import Path
とりあえずこの2つがあればOK
Pathのよく使うやつ
# --- 基本 --- # 文字列からPath作成 dir_path = ("/home/hoge") # パス結合は/演算子で path = dir_path / "fuga.txt" # 相対パスでも指定可能だけど path = Path("hoge/huga.txt") # resolveで絶対パスにしておいたほうが無難な気がする path = path.resolve() # --- 取得系 --- # カレントディレクトリ cur = path.cwd() # この.pyファイルのあるpath path = Path(__file__) # 親ディレクトリ、ファイル名だけ、 拡張子だけ、拡張子なしファイル名だけ path = Path("/home/hoge/fuga.txt") par = path.parent # Path("/home/hoge") pa2 = path.parents[1] # Path("/home") file = path.name # "fuga.txt" ext = path.suffix # "txt" body = path.stem # "huga" # パスの要素 parts_list = path.parts # ["/", "home", "hoge", "fuga.txt"] # ディレクトリ直下のやつ全部 (ジェネレータが返る) all_file = path.iterdir() # .txtファイルだけとかならこう(多分直下だけじゃなく孫ひ孫も含む) all_txt = dir_path.glob("*.txt") # --- 確認系 --- # ファイルかディレクトリかあるかないか if path.is_dir(): # ディレクトリのときの処理 elif path.is_file(): # ファイルのときの処理 elif not path.exists(): # 存在しないときの処理 # --- 生成・削除 --- # ディレクトリやファイル作る。引数は親も一緒に作るか、すでにあってもエラー出さなくていいか path.mkdir(parent=True, exists_ok=True) path.touch() # ディレクトリやファイル消す path.rmdir() #中身あったら消せない path.unlink()
path指定いろいろ
# このファイルのディレクトリ path = Path(__file__).parent
コピー ファイル→ファイル
# ファイル名指定してコピー shutil.copy(src_file, dst_file) # ファイル名そのまま別ディレクトリにコピー shutil.copy(src_file, dst_dir)
ディスカッション
コメント一覧
まだ、コメントがありません