上一篇,我们讲了用递归的方式输入所有文件路径,其实os还提供了一个好用的方法-walk()
简单看一下:
中文大意就是:
返回的是一个三元tupple(dirpath, dirnames, filenames), # 其中第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件. # dirpath是一个string,代表目录的路径, # dirnames是一个list,包含了dirpath下所有子目录的名字, # filenames是一个list,包含了非目录文件的名字.这些名字不包含路径信息,如果需要得到全路径,需要使用 os.path.join(dirpath, name).
搞清楚上面,实现起来就很简单的几行代码了:
path=os.getcwd() for dirpath,dirnames,files in os.walk(path): for file in files: print(os.path.join(dirpath,file)) 结果:
D:\python workspace\py11\1001\test01.py
D:\python workspace\py11\1001\test02.pyD:\python workspace\py11\1001\test03.pyD:\python workspace\py11\1001\test04.pyD:\python workspace\py11\1001\test05.pyD:\python workspace\py11\1001\test06.pyD:\python workspace\py11\1001\test07.pyD:\python workspace\py11\1001\test08.pyD:\python workspace\py11\1001\__init__.pyD:\python workspace\py11\1001\py\pytest\py1\a.py