Python中os.walk()模組

嗨学编程發表於2024-06-05

語法

walk()方法語法格式如下:

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

引數

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 的子目錄。

返回值

該方法沒有返回值。

例項

以下例項演示了 walk() 方法的使用:

import os
for root, dirs, files in os.walk("testcases/user_terminal", topdown=False):
    for name in files:
        print(os.path.join(root, name))
#學習中遇到問題沒人解答?小編建立了一個Python學習交流群:153708845
testcases/user_terminal

指定任意相對路徑,返回這個相對路徑下的所有資料夾以及檔案

結果:

testcases/user_terminal\address_book\address_book.yml
testcases/user_terminal\family_group_management\announcement.yml
testcases/user_terminal\family_group_management\group_management.yml
testcases/user_terminal\family_group_management\images.yml
testcases/user_terminal\family_group_management\sign_in.yml
.....

相關文章