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一样,也不是按照文件的顺序来排列的。