Python-刪除多級目錄


def rmdirs(top):
    for root, dirs, files in os.walk(top, topdown=False):
        # 先刪除文件
        for name in files:
            os.remove(os.path.join(root, name))
        # 再刪除空目錄
        for name in dirs:
            os.rmdir(os.path.join(root, name))
    # for循環執行后top就為空目錄
    # 如果要刪除將下面的注釋打開
    # os.rmdir(top)

  

os.walk() 方法用於通過在目錄樹中游走輸出在目錄中的文件名,向上或者向下。

os.walk() 方法是一個簡單易用的文件、目錄遍歷器,可以幫助我們高效的處理文件、目錄方面的事情。

在Unix,Windows中有效。

  • top -- 是你所要遍歷的目錄的地址, 返回的是一個三元組(root,dirs,files)。

    • root 所指的是當前正在遍歷的這個文件夾的本身的地址
    • dirs 是一個 list ,內容是該文件夾中所有的目錄的名字(不包括子目錄)
    • files 同樣是 list , 內容是該文件夾中所有的文件(不包括子目錄)
  • topdown --可選,為 True,則優先遍歷 top 目錄,否則優先遍歷 top 的子目錄(默認為開啟)。如果 topdown 參數為 True,walk 會遍歷top文件夾,與top 文件夾中每一個子目錄。

  • onerror -- 可選,需要一個 callable 對象,當 walk 需要異常時,會調用。

  • followlinks -- 可選,如果為 True,則會遍歷目錄下的快捷方式(linux 下是軟連接 symbolic link )實際所指的目錄(默認關閉),如果為 False,則優先遍歷 top 的子目錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM