zoukankan      html  css  js  c++  java
  • Python入门之os.walk()方法

    os.walk方法,主要用来遍历一个目录内各个子目录和子文件。

    os.walk(top, topdown=True, onerror=None, followlinks=False) 

    可以得到一个三元tupple(dirpath, dirnames, filenames), 

    第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。

    dirpath 是一个string,代表目录的路径,

    dirnames 是一个list,包含了dirpath下所有子目录的名字。

    filenames 是一个list,包含了非目录文件的名字。

    这些名字不包含路径信息,如果需要得到全路径,需要使用os.path.join(dirpath, name).

    通过for循环自动完成递归枚举

    例如:

    F:aaa 目录是这样的文件目录结构

    F:aaa

    |--------1.txt

    |--------2.txt

    |--------3.txt

    |--------4

             |-------5.txt

             |-------6.txt

             |-------7.txt

    分别打印各个参数的实际值

    #!/usr/bin/env python  
    # 2.py  
    # use UTF-8  
    # Python 3.3.0  
      
    # os.walk()的使用  
    import os  
      
    # 枚举dirPath目录下的所有文件  
      
    def main():  
    #begin  
        fileDir = "F:" + os.sep + "aaa"     # 查找F:aaa 目录下    
        for root, dirs, files in os.walk(fileDir):  
        #begin  
            print(root)  
            print(dirs)  
            print(files)  
        #end  
        os.system("pause")  
    #end  
      
    if __name__ == '__main__':  
    #begin  
        main()  
    #end  
      
      
    # 输出  
    # F:aaa  
    # ['4']  
    # ['1.txt', '2.txt', '3.txt']  
    # F:aaa4  
    # []  
    # ['5.txt', '6.txt', '7.txt']  

    你也可以这样,用元组a,通过for循环即可完成目录的递归.

    #!/usr/bin/env python  
    # 3.py  
    # use UTF-8  
    # Python 3.3.0  
      
    # os.walk()的使用  
    import os  
      
    # 枚举dirPath目录下的所有文件  
      
    def main():  
    #begin  
        fileDir = "F:" + os.sep + "aaa"     # 查找F:aaa 目录下    
        for a in os.walk(fileDir):  
        #begin  
            print(a[0])  
            print(a[1])  
            print(a[2])  
        #end  
        os.system("pause")  
    #end  
      
    if __name__ == '__main__':  
    #begin  
        main()  
    #end  
      
      
    # 输出  
    # F:aaa  
    # ['4']  
    # ['1.txt', '2.txt', '3.txt']  
    # F:aaa4  
    # []  
    # ['5.txt', '6.txt', '7.txt']  

    你还可以这样,先打印目录,再打印各个文件

    #!/usr/bin/env python  
    # 2.py  
    # use UTF-8  
    # Python 3.3.0  
      
    # os.walk()的使用  
    import os  
      
    # 枚举dirPath目录下的所有文件  
      
    def main():  
    #begin  
        fileDir = "F:" + os.sep + "aaa"     # 查找F:aaa 目录下    
        for root, dirs, files in os.walk(fileDir):  
        #begin  
            for dir in dirs:  
            #begin  
                print(os.path.join(root, dir))  
            #end  
            for file in files:  
            #begin  
                print(os.path.join(root, file))  
            #end  
        #end  
        os.system("pause")  
    #end  
      
    if __name__ == '__main__':  
    #begin  
        main()  
    #end  
      
      
    # 输出  
    # F:aaa4  
    # F:aaa1.txt  
    # F:aaa2.txt  
    # F:aaa3.txt  
    # F:aaa45.txt  
    # F:aaa46.txt  
    # F:aaa47.txt  

    参考

  • 相关阅读:
    Appium+python自动化13-native和webview切换【转载】
    Appium+python自动化12-appium元素定位【转载】
    Appium+python自动化11-adb必知必会的几个指令【转载】
    Appium+python自动化10-AVD 模拟器【转载】
    Appium+python自动化9-SDK Manager【转载】
    Appium+python自动化8-Appium Python API【转载】
    Appium+python自动化7-输入中文【转载】
    Appium+python自动化6-Remote远程控制【转载】
    Appium+python自动化5-Appium Inspector【转载】
    Centos-内核核心组成
  • 原文地址:https://www.cnblogs.com/JetpropelledSnake/p/8982495.html
Copyright © 2011-2022 走看看