ディレクトリ自体を削除せずに、Pythonのディレクトリからすべてのファイルを削除します。

前回の投稿では、 Pythonでファイルを削除する を使用して os.remove(), os.unlink()、 と pathlib.Path.unlink() 機能。この投稿では、ディレクトリからすべてのファイルを削除する方法について説明します。

1.使用する os.listdir() 関数

アイデアは、ディレクトリ内のすべてのファイルを反復処理することです。 os.listdir() 関数を実行し、で検出された各ファイルを削除します os.remove() 関数。これにより、ルートディレクトリに存在するすべてのファイルが削除されますが、ディレクトリにサブディレクトリが含まれている場合は例外が発生することに注意してください。

コードをダウンロード

2.使用する glob.glob() 関数

を使用して、ディレクトリ内のファイルを反復処理することもできます glob.glob 関数。指定されたパターンに一致するパスに対してイテレータを返します。ただし、ルートディレクトリにサブディレクトリがある場合も、これにより例外が発生します。

コードをダウンロード

3.使用する os.scandir() 関数

Pythonバージョン3.5では、より高速です os.scandir() 関数は、ディレクトリ内のファイルを反復処理するための推奨される方法です。他のすべてのアプローチと同様に、ルートディレクトリにサブディレクトリが含まれている場合、これは失敗します。

コードをダウンロード

4.使用する shutil.rmtree() 関数

ディレクトリからすべてのファイル、サブディレクトリ、およびシンボリックリンクを削除する必要がある場合は、 shutil.rmtree() で機能する os.remove() 以下に示すように、関数:

コードをダウンロード

 
ディレクトリ全体を削除する必要がある場合は、直接呼び出すことができます shutil.rmtree() ルートディレクトリの関数:

コードをダウンロード

これで、Pythonのディレクトリ内のすべてのファイルを削除できます。