• python中的os.walk()方法学习


    """
    os.listdir(path) 只能返回当前path路径下的文件和文件夹,不包含子目录中的内容,并且不包含路径,只是文件或文件夹名字.
    os.walk(path)用来遍历一个目录内各个子目录和子文件
    每次遍历的对象返回的都是一个三元组(root, dirs, files)
    root:指的是当前正在遍历的这个文件夹本身的地址,也就是walk传进去的那个目录地址
    dirs:是一个list,内容是该文件夹下所有的子目录的名字,
    files:同样是一个list,内容是该文件夹下的所有文件的名字,
    这些名字不包括路径信息,如果需要得到全路径,需要使用os.path.join(dirpath, name)
    """
    测试目录为
    F:aa
    ----bb
    ----detect.h
    ----detect.cpp
    ----cc
    ----track.cpp
    ----test1.txt

    1分别打印root  dirs  files的值;

    import os
    def main():
        # 前面的r是告诉解释器保持字符串的原始值,不要对其中的进行转义,如果不加r,那么路径要改成“F:/aa”或者“F:\aa”
        for root, dirs, files in os.walk(r"F:aa"):
            print(root)
            print(dirs)
            print(files)
            print('------------------------------')
    if __name__ == '__main__':
        main()

    打印结果如下:

    2.也可以用下面的方法打印

    import os
    def main():
        # 前面的r是告诉解释器保持字符串的原始值,不要对其中的进行转义,如果不加r,那么路径要改成“F:/aa”或者“F:\aa”
        for a in os.walk(r"F:aa"):
            print(a[0])
            print(a[1])
            print(a[2])
            print('------------------------------')
    if __name__ == '__main__':
        main()

    打印结果和第一种方法是一样的

    3.得到子目录的完整路径,得到文件的完整路径

    import os
    def main():
        # 前面的r是告诉解释器保持字符串的原始值,不要对其中的进行转义,如果不加r,那么路径要改成“F:/aa”或者“F:\aa”
        for root, dirs, files in os.walk(r"F:aa"):
            for dir in dirs:
                print(os.path.join(root, dir))
            print('111111111111111111111')
            for file in files:
                print(os.path.join(root, file))#这里join的时候只需要root和file就能得到完整路径,不需要增加dir
            print('222222222222222222222')
    if __name__ == '__main__':
        main()

    打印结果如下

    作者:cumtchw
    出处:http://www.cnblogs.com/cumtchw/
    我的博客就是我的学习笔记,学习过程中看到好的博客也会转载过来,若有侵权,与我联系,我会及时删除。

  • 相关阅读:
    一文读懂快速排序
    15道APP测试面试题分享,助攻你的面试
    APP测试之使用ADB可能遇到的错误及解决办法
    APP测试之Monkey压力测试(二)
    APP测试之Monkey压力测试(一)
    APP日志文件抓取及分析
    Linux环境安装python3
    visualvm 插件 visual gc 使用介绍
    设计模式之状态
    【深入理解JVM】:Java内存模型JMM
  • 原文地址:https://www.cnblogs.com/cumtchw/p/12437026.html
Copyright © 2020-2023  润新知