上一篇,我们讲了用递归的方式输入所有文件路径,其实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 workspacepy111001 est01.py
D:python workspacepy111001 est02.py
D:python workspacepy111001 est03.py
D:python workspacepy111001 est04.py
D:python workspacepy111001 est05.py
D:python workspacepy111001 est06.py
D:python workspacepy111001 est07.py
D:python workspacepy111001 est08.py
D:python workspacepy111001\__init__.py
D:python workspacepy111001pypytestpy1a.py