之前写过用普通方法遍历文件夹http://www.omegaxyz.com/2017/09/19/pythongetfiles/的方法,上周python课老师直接用os.walk()方法遍历,省事了多。
os.walk这个某块是遍历一个目录常用的模块,它返回一个包含3个元素的元祖:dirpath,dirnames,filenames.dirpath是以string字符串形式返回该目录下所有的绝对路径;dirnames是以列表list形式返回每一个绝对路径下的文件夹名字;filesnames是以列表list形式返回该路径下所有文件名字。
import os
def visitDir2(path):
if not os.path.isdir(path):
print('Error:"',path,'" is not a directory or does not exist.')
return
list_dirs = os.walk(path) #os.walk返回一个元组,包括3个元素:
#所有路径名、所有目录列表与文件列表
for root, dirs, files in list_dirs: #遍历该元组的目录和文件信息
for d in dirs:
print(os.path.join(root, d)) #获取完整路径
for f in files:
print(os.path.join(root, f)) #获取文件绝对路径
visitDir2('h:\\music')