使用 Python 遍历目录树的方法


Posted in Python onFebruary 29, 2020

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

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,则会遍历目录下的快捷方式实际所指的目录)

总结

到此这篇关于使用 Python 遍历目录树的方法的文章就介绍到这了,更多相关python 遍历目录树内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
深入理解python函数递归和生成器
Jun 06 Python
python中学习K-Means和图片压缩
Nov 20 Python
python3+PyQt5重新实现自定义数据拖放处理
Apr 19 Python
利用Python半自动化生成Nessus报告的方法
Mar 19 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
Apr 16 Python
深入浅析python3中的unicode和bytes问题
Jul 03 Python
python科学计算之numpy——ufunc函数用法
Nov 25 Python
python 给图像添加透明度(alpha通道)
Apr 09 Python
Python selenium自动化测试模型图解
Apr 15 Python
matplotlib 生成的图像中无法显示中文字符的解决方法
Jun 10 Python
对Pytorch 中的contiguous理解说明
Mar 03 Python
Pytorch实现图像识别之数字识别(附详细注释)
May 11 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
Feb 29 #Python
在python3中实现查找数组中最接近与某值的元素操作
Feb 29 #Python
python pandas移动窗口函数rolling的用法
Feb 29 #Python
基于Python fminunc 的替代方法
Feb 29 #Python
浅谈SciPy中的optimize.minimize实现受限优化问题
Feb 29 #Python
使用python求解二次规划的问题
Feb 29 #Python
Python龙贝格法求积分实例
Feb 29 #Python
You might like
PHP加速 eAccelerator配置和使用指南
2009/06/05 PHP
护卫神php套件 php版本升级方法(php5.5.24)
2015/05/10 PHP
PHP数组操作类实例
2015/07/11 PHP
使用PHP实现下载CSS文件中的图片
2015/12/06 PHP
Zend Framework教程之模型Model基本规则和使用方法
2016/03/04 PHP
php利用array_search与array_column实现二维数组查找
2019/07/08 PHP
jQuery数组处理方法汇总
2011/06/20 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
详解angular中如何监控dom渲染完毕
2017/01/03 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
使用mint-ui实现省市区三级联动效果的示例代码
2018/02/09 Javascript
Vue 组件传值几种常用方法【总结】
2018/05/28 Javascript
小程序接口的promise化的实现方法
2019/12/11 Javascript
vue+element 实现商城主题开发的示例代码
2020/03/26 Javascript
Vue 自适应高度表格的实现方法
2020/05/13 Javascript
Element Cascader 级联选择器的使用示例
2020/07/27 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
2020/09/08 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
2020/09/11 Javascript
ant design vue datepicker日期选择器中文化操作
2020/10/28 Javascript
[12:51]71泪洒现场!是DOTA2让经典重现
2014/03/24 DOTA
[01:00] DOTA2英雄背景故事第五期之重力引力法则谜团
2020/07/16 DOTA
深入解析Python的Tornado框架中内置的模板引擎
2016/07/11 Python
python基本语法练习实例
2017/09/19 Python
python 堆和优先队列的使用详解
2019/03/05 Python
Python数据报表之Excel操作模块用法分析
2019/03/11 Python
Python爬虫抓取技术的一些经验
2019/07/12 Python
Python实现迪杰斯特拉算法过程解析
2020/09/18 Python
python字典按照value排序方法
2020/12/28 Python
使用python实现学生信息管理系统
2021/02/25 Python
平安校园建设方案
2014/05/02 职场文书
领导干部考核评语
2015/01/04 职场文书
给numpy.array增加维度的超简单方法
2021/06/02 Python
Python3.10的一些新特性原理分析
2021/09/15 Python
python开发人人对战的五子棋小游戏
2022/05/02 Python
Win2008系统搭建DHCP服务器
2022/06/25 Servers