使用 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学习笔记 下载
Feb 10 Python
Python多线程编程(四):使用Lock互斥锁
Apr 05 Python
python数据分析数据标准化及离散化详解
Feb 26 Python
详解python多线程之间的同步(一)
Apr 03 Python
Python流程控制 if else实现解析
Sep 02 Python
python中bytes和str类型的区别
Oct 21 Python
python+Django实现防止SQL注入的办法
Oct 31 Python
使用jupyter notebook直接打开.md格式的文件
Apr 10 Python
使用python实现时间序列白噪声检验方式
Jun 03 Python
python如何写try语句
Jul 14 Python
使用Python爬取Json数据的示例代码
Dec 07 Python
教你如何使用Python下载B站视频的详细教程
Apr 29 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集成FCK的函数代码
2008/09/27 PHP
PHP动态创建Web站点的方法
2011/08/14 PHP
php5.2以下版本无json_decode函数的解决方法
2014/05/25 PHP
Yii使用migrate命令执行sql语句的方法
2016/03/15 PHP
Symfony2联合查询实现方法
2016/03/18 PHP
浅谈php中urlencode与rawurlencode的区别
2016/09/05 PHP
php获取linux命令结果的实例
2017/03/13 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
2020/12/16 PHP
jQuery总体架构的理解分析
2011/03/07 Javascript
Jquery Change与bind事件代码
2011/09/29 Javascript
javascript定时变换图片实例代码
2013/03/17 Javascript
Nodejs如何搭建Web服务器
2016/03/28 NodeJs
javascript中获取class的简单实现
2016/07/12 Javascript
JQuery中解决重复动画的方法
2016/10/17 Javascript
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
Angularjs的启动过程分析
2017/07/18 Javascript
AngularJS实现的简单拖拽功能示例
2018/01/02 Javascript
微信小程序实现的自定义分享功能示例
2019/02/12 Javascript
基于JS实现table导出Excel并保留样式
2020/05/19 Javascript
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
Python同时向控制台和文件输出日志logging的方法
2015/05/26 Python
从DataFrame中提取出Series或DataFrame对象的方法
2018/11/10 Python
对python中的乘法dot和对应分量相乘multiply详解
2018/11/14 Python
Python3.5模块的定义、导入、优化操作图文详解
2019/04/27 Python
Django1.11配合uni-app发起微信支付的实现
2019/10/12 Python
python绘图模块之利用turtle画图
2021/02/12 Python
日本最大美瞳直送网:Morecontact(中文)
2019/04/03 全球购物
Charles&Keith美国官方网站:新加坡快时尚鞋类和配饰零售商
2019/11/27 全球购物
酒店副总经理岗位职责范本
2014/02/04 职场文书
青年文明号申报材料
2014/12/23 职场文书
聘任证明怎么写
2015/03/02 职场文书
初中毕业生自我评价
2015/03/02 职场文书
病假条格式范文
2015/08/17 职场文书
高中政治教学反思
2016/02/23 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
Unicode中的CJK(中日韩统一表意文字)字符小结
2021/12/06 HTML / CSS