2

Pythonを使用してディレクトリを削除しようとしていますが、プロセスでディレクトリパス全体を再帰的に削除したくありません。

/ home / dir / dir / dirtoberemoved

したがって、1つのディレクトリとそのすべてのコンテンツだけを上位レベルで削除したくはありません。私はこの質問を調査するためにstackoverflowを探していましたが、ほとんどの回答には、「ディレクトリツリー全体を削除する」と書かれているモジュールのPythonドキュメントを見て、私がよく知らないshutilモジュールを使用することが含まれています

私がこのようなことをした場合:

    if os.path.exists("/home/dir/dir/dirtoberemoved");

        shutil.rmtree("/home/dir/dir/dirtoberemoved");

また

         shutil.rmtree("/dirtoberemoved");

パス全体が削除されますか?もしそうなら、より高いレベルのディレクトリを削除せずに、Pythonで空でないディレクトリを1つ削除するだけの良い方法はありますか?

4

1 に答える 1

4

削除するディレクトリへのパス全体を指定する必要があります。パスの最後の部分のみが削除され、その/home/dir/dir/部分は変更されません。

削除とは、指定されたパスに含まれるすべてのサブディレクトリを指します。そのため、/home/dir/dir/dirtoberemoved/fooサブディレクトリがある場合は、その親と一緒に削除されます。

于 2012-09-03T14:40:56.437 に答える