2

Pythonでは、次のコマンドを使用して同じ名前の複数のファイルを削除できることを理解しています。

for f in glob.glob("file_name_*.txt"):
    os.remove(f)

また、-を使用して単一のディレクトリを削除できますshutil.rmtree('/path/to/dir')。また、このコマンドを実行すると、ディレクトリが空でない場合でもディレクトリが削除されます。一方、os.rmdir()ディレクトリが空である必要があります。

同じ名前の複数のディレクトリを実際に削除したいのですが、それらは空ではありません。だから、私は次のようなものを探しています shutil.rmtree('directory_*')

Pythonでこれを行う方法はありますか?

4

1 に答える 1

1

あなたはすべての部分を持っています:glob()繰り返し、そしてrmtree()削除します:

for path in glob.glob("directory_*"):
    shutil.rmtree(path)

これは、グロブされたパスの1つがファイルに名前を付けた場合、または失敗する可能性OSErrorのあるその他の理由でスローされます。rmtree()エラーの処理方法を決定したら、適切と思われるエラー処理を追加できます。エラーをどう処理したいかがわからない限り、エラー処理を追加しても意味がないので、エラー処理は省略しました。

于 2013-03-27T06:51:47.820 に答える