版权声明:转载请注明作者(独孤尚良dugushangliang)出处: https://blog.csdn.net/dugushangliang/article/details/90072063
版权声明:转载请注明作者(独孤尚良dugushangliang)出处: https://blog.csdn.net/dugushangliang/article/details/90072063
关于此函数的详情可移步:https://www.runoob.com/python3/python3-os-walk.html
# -*- coding: utf-8 -*-
import os
ph=r'D:\temp\build'
for root,dirs,files in os.walk(ph):
print(root,dirs,files)
但对于root,dirs,files有些不太懂。
本例测试所用文件路径如下:
代码执行结果如下:
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 os
ph=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))
独孤尚良dugushangliang——著