随笔 - 63,  文章 - 0,  评论 - 4,  阅读 - 10万

先看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
posted on   盈盈的月儿  阅读(182)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示