python的os.walk()函数的使用及对于root,dirs,files的理解

版权声明:转载请注明作者(独孤尚良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——著

猜你喜欢

转载自blog.csdn.net/dugushangliang/article/details/90072063