Python os.walk() 方法
概述:
os.walk() 方法用於通過在目錄樹中游走輸出在目錄中的文件名,向上或者向下。
os.walk() 方法是一個簡單易用的文件、目錄遍歷器,可以幫助我們高效的處理文件、目錄方面的事情。
在Unix,Windows中有效。
語法:
walk()方法語法格式如下:
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
參數:
1.top -- 是你所要遍歷的目錄的地址, 返回的是一個三元組(root,dirs,files)。
root 所指的是當前正在遍歷的這個文件夾的本身的地址
dirs 是一個 list ,內容是該文件夾中所有的目錄的名字(不包括子目錄)
files 同樣是 list , 內容是該文件夾中所有的文件(不包括子目錄)
2.topdown --可選,為 True,則優先遍歷 top 目錄,否則優先遍歷 top 的子目錄(默認為開啟)。如果 topdown 參數為 True,walk 會遍歷top文件夾,與top 文件夾中每一個子目錄。
3.onerror -- 可選,需要一個 callable 對象,當 walk 需要異常時,會調用。
4.followlinks -- 可選,如果為 True,則會遍歷目錄下的快捷方式(linux 下是軟連接 symbolic link )實際所指的目錄(默認關閉),如果為 False,則優先遍歷 top 的子目錄。
返回值:
返回生成器。
例子--遍歷文件夾:
import os def walkFile(file): for root, dirs, files in os.walk(file): # root 表示當前正在訪問的文件夾路徑 # dirs 表示該文件夾下的子目錄名list # files 表示該文件夾下的文件list # 遍歷文件 for f in files: print(os.path.join(root, f)) # 遍歷所有的文件夾 for d in dirs: print(os.path.join(root, d))
Python os.listdir() 方法
概述:
os.listdir() 方法用於返回指定的文件夾包含的文件或文件夾的名字的列表。
它不包括 . 和 .. 即使它在文件夾中。
只支持在 Unix, Windows 下使用。
語法:
listdir()方法語法格式如下:
os.listdir(path)
參數:
path -- 需要列出的目錄路徑
返回值:
返回指定路徑下的文件和文件夾列表。
實例:
以下實例演示了 listdir() 方法的使用:
import os, sys # 打開文件 path = "/var/www/html/" dirs = os.listdir( path ) # 輸出所有文件和文件夾 for file in dirs: print file
執行以上程序輸出結果為:
test.htm
stamp
faq.htm
_vti_txt
robots.txt
itemlisting
resumelisting
writing_effective_resume.htm
advertisebusiness.htm
papers
resume
如果目錄下有中文目錄,打印時遇到亂碼解決方法:
cPath = os.getcwd() # 如果目錄名字為中文 需要轉碼處理 uPath = unicode(cPath,'utf-8') for fileName in os.listdir(uPath) : print fileName
參考原文: 菜鳥教程
https://www.runoob.com/python/os-walk.html