Pythonの pathlib
, shutil
モジュールを使ってディレクトリ(フォルダ)の作成および削除をする方法について説明します。
使用モジュール
モジュール :pathlib (公式ドキュメント)
インストール:不要
インストール:不要
モジュール :shutil (公式ドキュメント)
インストール:不要
インストール:不要
ディレクトリを作成
ディレクトリを作成するには pathlib
モジュールで用意されている Path
クラスの mkdir()
メソッドを使用します。
pathlib.Path(作成するディレクトリのパス).mkdir()
1 2 | import pathlib pathlib.Path('./test').mkdir() |
以下のように Path
クラスのインスタンスの作成と、mkdir()
メソッドを分けることも可能です。
1 2 3 | p = pathlib.Path('test') p.mkdir() # test |
標準では、新規作成ディレクトリと既存ディレクトリの間に未作成の中間ディレクトリがあると、FileNotFoundError: [WinError 3] 指定されたパスが見つかりません。
というエラーが発生します。
1 2 3 | pathlib.Path('test/flower/2021').mkdir() # FileNotFoundError: [WinError 3] 指定されたパスが見つかりません。: 'test\\flower\\2021' |
中間ディレクトリもまとめて作成するには、引数 parents=true
を指定します。
1 | pathlib.Path('./test/flower/2021').mkdir(parents=True) |
ディレクトリを削除する
ディレクトリを削除するには pathlib
モジュールで用意されているの Path
クラスの rmdir()
メソッドを使用します。
pathlib.Path(削除するディレクトリのパス).rmdir()
まず削除するディレクトリのパスからPathクラスのインスタンスを作成します。
1 2 | import pathlib pathlib.Path('test/flower/2021').rmdir() |
削除するディレクトリが空ではない場合は、OSError: [WinError 145] というディレクトリが空ではありません。
というエラーが発生します。
1 2 3 | pathlib.Path('test').rmdir() # OSError: [WinError 145] ディレクトリが空ではありません。: 'test' |
ディレクトリの中身もまとめて削除
空でないディレクトリを中身ごと削除するにはshutilモジュールのshutil.rmtree()
を使います。
shutil.rmtree(削除するディレクトリのパス)
1 2 | import shutil shutil.rmtree('test') |
Pythonでディレクトリ(フォルダ)を作成する方法と削除する方法について解説しました。
・関連記事:【Python入門】pathlibの使い方(パス操作)
・関連記事:Pythonで更新日が古いディレクトリを削除する