os.walk() 和os.path.walk()

os.walk()

函數聲明:walk(top,topdown=True,οnerrοr=None)
1>參數top表示需要遍歷的目錄樹的路徑
2>參數topdown的默認值是"True",表示首先返回目錄樹下的文件,然後在遍歷目錄樹的子目錄.Topdown的值爲"False"時,則表示先遍歷目錄樹的子目錄,返回子目錄下的文件,最後返回根目錄下的文件
3>參數onerror的默認值是"None",表示忽略文件遍歷時產生的錯誤.如果不爲空,則提供一個自定義函數提示錯誤信息後繼續遍歷或拋出異常中止遍歷
4>該函數返回一個元組,該元組有3個元素,這3個元素分別表示每次
遍歷的路徑名,目錄列表和文件列表
os,walk()實例:

import os
def VisitDir(path):
  for root,dirs,files in os.walk(path):
    for filespath in files:
      print os.path.join(root,filespath)

if __name__=="__main__":
path="/root"
VisitDir(path)

 

os.path.walk()

函數聲明:walk(top,func,arg)
1>參數top表示需要遍歷的目錄樹的路徑
2>參數func表示回調函數,對遍歷路徑進行處理.所謂回調函數,是作爲某個函數的參數使用,當某個時間觸發時,程序將調用定義好的回調函數處理某個任務.回調函數必須提供3個參數:第1個參數爲walk()的參數tag,第2個參數表示目錄列表,第3個參數表示文件列表
3>參數arg是傳遞給回調參數func的元組.回調函數的一個參數必須是arg,爲回調函數提供處理參數.參數arg可以爲空
os.path.walk()實例:

import os,os.path
def VisitDir(arg,dirname,names):
  for filespath in name:
    print os.path.join(dirname,filespath)

if __name__=="__main__":
path="/root"
os.path.walk(path,VisitDir,())

 

os.path.walk()與os.walk()產生的文件名列表並不相同.os.path.walk()產生目錄樹下的目錄路徑和文件路徑,而os.walk()只產生文件路徑

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章