先看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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」