2017-01-25 14 views
0

すべてのフォルダとその内容を削除するが、個々のファイルは削除しないPythonコードを書きたいと思っています。
たとえば、ディレクトリ(フォルダB)に含まれるいくつかのファイルとフォルダと、削除を行うスクリプトファイルがあります。 folderA、folderB、folderCなどを削除するにはどうしたらいいですか?おかげPythonすべてのフォルダを削除してもファイルは削除しない

/Folder B 
    file.docx 
    fileB.docx 
    fileC.docx 
    pythonDeleteScript.py 
    folderA/ 
    folderB/ 
    folderC/ 
    folderD/ 
+1

'shutil'と' os'モジュールを見ましたか?後者を使用してディレクトリをスキャンし(ディレクトリエントリのみを保持するようにフィルタする)、前者ではフォルダツリーを削除することができます。 SOは実際にコード作成サービスとして意図されておらず、この 'shutil'タグを付けたので、あなたはモジュールをはっきりと認識しています。 'os' /' os.path'を見て、自分で解決してみてください。 – ShadowRanger

+0

[os.path.isdir](https://docs.python.org/3/library/os.path.html#os.path.isdir)+ [os.listdir](https://docs.python。 org/3/library/os.html#os.listdir)+ [os.rmdir](https://docs.python.org/3/library/os.html#os.rmdir) – Copperfield

+0

@Copperfield:あなたはフォルダが空でないときにこれを行うには、['shutil.rmtree'](https://docs.python.org/3/library/shutil.html#shutil.rmtree)を使います。現代のPythonを使っているなら、 '' os.scandir'(https://docs.python.org/3/library/os.html#os.scandir)に単純化することができます(これは ' os.listdir'と 'os.path.isdir'ですが、より効率的です)+' shutil.rmtree'。 – ShadowRanger

答えて

3

使用os.listdir()それはフォルダであり、それがある場合、shutil.rmtree(path)は、フォルダとそのすべてのコンテンツを削除するかどうかを確認するために、ディレクトリの内容、os.path.isdir(path)を取得します。

関連する問題