python的os.walk函数的使用及对于root,dirs

关于此函数的详情可移步:
# -*- coding: utf-8 -*-import osph=r'D:\temp\build'for root,dirs,files in os.walk(ph):print(root,dirs,files)
但对于root , dirs , files有些不太懂 。
本例测试所用文件路径如下:
【python的os.walk函数的使用及对于root,dirs】

python的os.walk函数的使用及对于root,dirs

文章插图
代码执行结果如下:
python的os.walk函数的使用及对于root,dirs

文章插图
D:\temp\build ['u2c', 'u3s'] []D:\temp\build\u2c [] ['Analysis-00.toc', 'base_library.zip', 'EXE-00.toc', 'PKG-00.pkg', 'PKG-00.toc', 'PYZ-00.pyz', 'PYZ-00.toc', 'u2c.exe.manifest', 'warn-u2c.txt', 'xref-u2c.html']D:\temp\build\u3s [] ['Analysis-00.toc', 'base_library.zip', 'EXE-00.toc', 'PKG-00.pkg', 'PKG-00.toc', 'PYZ-00.pyz', 'PYZ-00.toc', 'u3s.exe.manifest', 'warn-u3s.txt', 'xref-u3s.html']
我们可以根据输出结果得知:root指的是当前所在的文件夹路径 , dirs是当前文件夹路径下的文件夹列表 , files是当前文件夹路径下的文件列表 。
所以我们可以通过root和dirs的某项组合出文件夹路径 , 通过root和files的某项组合出文件路径 。下面的代码通过两个for循环 , 实现了所有文件或文件夹的遍历 。
import osph=r'D:\temp\build'for root,dirs,files in os.walk(ph):#print(root,dirs,files)for name in files:print(os.path.join(root, name))for name in dirs:print(os.path.join(root, name))
独孤尚良——著