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)
2.如果在遍歷資料夾同時,先做了一些操作,比如刪除檔案操作os.remove,然後再判斷此時資料夾是否為空,為空則刪除。
需要用os.listdir判斷當前資料夾是否為空,因為dirs和files還是剛進入當前資料夾root時得到的。
# eg.
#Python學習交流群:711312441
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)