Python如何遞歸刪除空文件夾
1.Python如何遞歸刪除空文件夾,這個問題很常見。但大多數人的解決辦法都是自己實現遞歸函數解決這個問題,其實根本不用那么麻煩。Python中的os.walk提供了一種從內到外的遍歷目錄樹的方法(設置topdown=False),這樣由內到外判斷當前目錄樹下是否有文件和文件夾,如果都沒有則意味着當前目錄樹為空文件夾,os.rmdir刪除即可。
# eg.
import os
for root, dirs, files in os.walk(path, topdown=False):
if not files and not dirs:
os.rmdir(root)
- 如果在遍歷文件夾同時,先做了一些操作,比如刪除文件操作os.remove,然后再判斷此時文件夾是否為空,為空則刪除。需要用os.listdir判斷當前文件夾是否為空,因為dirs和files還是剛進入當前文件夾root時得到的。
# eg.
import os
for root, dirs, files in os.walk(path, topdown=False):
for file in files:
if file.endwith('.jpg'):
file = os.path.join(root, file)
os.remove(file)
if not os.listdir(root):
os.rmdir(root)