os.walk()可以得到一個三元tupple(dirpath, dirnames, filenames),其中第一個為起始路徑,第二個為起始路徑下的文件夾,第三個是起始路徑下的文件。
其中dirpath是一個string,代表目錄的路徑,dirnames是一個list,包含了dirpath下所有子目錄的名字。filenames是一個list,包含了非目錄文件的名字。
dirnames和filenames不包含路徑信息,如果需要得到全路徑,需要使用os.path.join(dirpath, name)。
import os for root, dirs, files in os.walk("/home/xingyuzhou/cnn"): for name in files: print name for dir in dirs: print dir for rot in root: print rot
這是cnn文件夾,在一層目錄里有5個文件夾,8個文件:
從結果可以看出,filenames包含的是整個文件夾及其子文件夾下的文件,而不是第一層文件夾的文件, dirpath和dirpath也一樣。
和os.listdir一樣,也不是按照文件的順序來排列的。