上一篇,我们讲了用递归的方式输入所有文件路径,其实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.py
D:\python workspace\py11\1001\test03.py
D:\python workspace\py11\1001\test04.py
D:\python workspace\py11\1001\test05.py
D:\python workspace\py11\1001\test06.py
D:\python workspace\py11\1001\test07.py
D:\python workspace\py11\1001\test08.py
D:\python workspace\py11\1001\__init__.py
D:\python workspace\py11\1001\py\pytest\py1\a.py