• python os.walk的用法


    先看os.walk(path)的返回值:

    `In [6]: for root_dir, dir_names, file_names in os.walk("C:\Users\Administrator"):
    ...: print(root_dir,type(root_dir))
    ...: print(dir_names,type(dir_names))
    ...: print(file_names, type(file_names))
    ...: import sys
    ...: sys.exit()

    # 下面为输出结果
    C:\Users\Administrator <class 'str'>
    ['.ipython', '.ssh'] <class 'list'>
    ['.bash_history', '.gitconfig'] <class 'list'>`
    可以发现os.walk(path)的返回值为一个迭代器,迭代的每一个元素都是一个三元组,元组的构成元素分别为:

    • root_dir:当前获取文件和目录的根目录,数据类型为字符串
    • dir_names:root_dir下的所有目录,数据类型为列表
    • file_names:root_dir下的所有文件,数据类型为列表

    所以我们就得到了获取某个目录及其子目录下所有文件或目录的代码写法

    获取某个目录及其子目录下所有文件

    def get_all_files(root):
        all_files = []
        for root_dir, dirnames, filenames in os.walk(root):
            for i in filenames:
                all_files.append(root_dir + i)
        print(all_files)
        return all_files
    

    获取某个目录及其子目录下所有目录

    def get_all_dirs(root):
        all_dirs = []
        for root_dir, dirnames, filenames in os.walk(root):
            for i in dirnames:
                all_dirs.append(root_dir + i)
        print(all_dirs)
        return all_dirs
    
  • 相关阅读:
    centos 安装Phpstorm
    PostgreSQL 里面的 BIGSERIAL
    如何下载symfony
    换行
    javaScript 真经 小感 this 指向
    css3 抖动
    jq 抖动效果
    还是 js 替代 vw vh 了
    常用 Math 属性及方法
    js 判断浏览器类型及版本
  • 原文地址:https://www.cnblogs.com/yingyingdeyueer/p/16219561.html
Copyright © 2020-2023  润新知