使用 Python 遍历目录树的方法

作者:deniro 时间:2021-09-21 22:19:32 

假设有这样一个任务,希望对某个文件夹(包括所有子文件夹与文件)中的所有文件进行处理。这就需要遍历整理目录树, 处理遇到的每个文件。


import os
'''
遍历目录树
'''
for folder_name,sub_folders,filenames in os.walk('F:\\dicts'):
print('当前文件夹:'+folder_name)
for sub_folder in sub_folders:
print('所包含的子文件夹:'+sub_folder)
for filename in filenames:
print('文件夹 %s 中所包含的文件:%s' %(folder_name,filename))
print('')

运行结果:

当前文件夹:F:\dicts
所包含的子文件夹:手机
文件夹 F:\dicts 中所包含的文件:865523a5180df385363cc89ebd0eca6b.apk
文件夹 F:\dicts 中所包含的文件:LDOCE5.mdd
文件夹 F:\dicts 中所包含的文件:LDOCE5.mdx
文件夹 F:\dicts 中所包含的文件:sound_us.mdd
文件夹 F:\dicts 中所包含的文件:奶爸1.6G.zip
文件夹 F:\dicts 中所包含的文件:奶爸1.6GMdict词库的补充.rar
文件夹 F:\dicts 中所包含的文件:新牛津英汉双解大词典.mdx
文件夹 F:\dicts 中所包含的文件:柯林斯双解.mdd
文件夹 F:\dicts 中所包含的文件:柯林斯双解.mdx
文件夹 F:\dicts 中所包含的文件:汉语大词典(简体精排).mdx
文件夹 F:\dicts 中所包含的文件:汉语大词典.mdx
文件夹 F:\dicts 中所包含的文件:美国传统英汉双解学习词典.mdx
文件夹 F:\dicts 中所包含的文件:美国传统词典双解.mdx

当前文件夹:F:\dicts\手机
所包含的子文件夹:dicts

当前文件夹:F:\dicts\手机\dicts
文件夹 F:\dicts\手机\dicts 中所包含的文件:sound_us.mdd
文件夹 F:\dicts\手机\dicts 中所包含的文件:新牛津英汉双解大词典.mdx
文件夹 F:\dicts\手机\dicts 中所包含的文件:汉语大词典.mdx
文件夹 F:\dicts\手机\dicts 中所包含的文件:美国传统英汉双解学习词典.mdx
文件夹 F:\dicts\手机\dicts 中所包含的文件:美国传统词典双解.mdx

os.walk() 函数以一个文件夹路径作为入参。然后我们就可以在一个 for 循环语句中使用 os.walk() 函数,遍历这个文件夹的整个目录树。 os.walk() 在每次循环迭代过程中,会返回 3个值:

  • 当前文件夹的名称,字符串形式 。

  • 当前文件夹中子文件夹名称列表 。

  • 当前文件夹中文件的名称列表。


当前文件夹指的是 for 循环内当前迭代的文件夹。注意: 程序的当前工作目录,不会因为 os.walk() 而改变。

ps:下面给大家介绍下Python os.walk() 函数

函数简介

os.walk() 函数用于在目录树中遍历所有的文件及文件夹。

函数输入输出及使用格式

输入:遍历地址path
输出:正在遍历的地址本身root、该地址下所有目录的名称dirs(list)、该地址下所有文件files(list)
使用格式:
'''
root, dirs, files = os.walk(path)
'''

可调参数

topdown = True or False (True优先遍历上层目录top,False优先遍历底层目录down)
onerror=None (默认None,需要一个调用对象,当 walk 需要异常时,会调用
followlinks = True or False(默认False,如果是True,则会遍历目录下的快捷方式实际所指的目录)

来源:https://www.jianshu.com/p/73a84f479132

标签:python,遍历,目录树,os.walk
0
投稿

猜你喜欢

  • MYSQL 字符串操作

    2008-11-13 12:34:00
  • Python数字/字符串补零操作实例代码

    2021-07-13 03:16:57
  • WEB设计经验-来自Microsoft

    2008-05-15 07:30:00
  • 详解JavaScript中的this指向问题

    2023-08-23 00:52:03
  • PHP htmlspecialchars()函数用法与实例讲解

    2023-06-02 16:48:38
  • 用MySQL做站点时如何记录未知错误的发生

    2010-09-30 14:11:00
  • 当设计师遇上前端开发

    2009-05-04 14:05:00
  • pycharm安装和首次使用教程

    2022-05-23 19:01:36
  • Python 一句话生成字母表的方法

    2022-03-15 06:49:47
  • QML使用Python的函数过程解析

    2021-12-10 19:20:31
  • laravel实现简单用户权限的示例代码

    2023-11-14 11:58:29
  • Oracle逗号分隔列转行实现方法

    2011-01-04 20:13:00
  • ASP函数大全(数字函数)

    2009-06-01 12:33:00
  • 举例讲解Python面向对象编程中类的继承

    2022-02-09 02:59:14
  • Python实现发送带有pdf附件的电子邮件

    2022-02-01 14:08:05
  • 使用Python通过win32 COM实现Word文档的写入与保存方法

    2021-03-16 04:09:27
  • PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享

    2023-11-06 06:36:22
  • python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)

    2021-02-03 19:41:24
  • 详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决

    2021-08-28 15:42:10
  • css基础教程属性篇之盒子模型

    2008-07-29 12:05:00
  • asp之家 网络编程 m.aspxhome.com