使用 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 13 Python
在Gnumeric下使用Python脚本操作表格的教程
Apr 14 Python
Python操作MySQL数据库的三种方法总结
Jan 30 Python
Python中使用__new__实现单例模式并解析
Jun 25 Python
教你一步步利用python实现贪吃蛇游戏
Jun 27 Python
djano一对一、多对多、分页实例代码
Aug 16 Python
tensorflow 实现自定义梯度反向传播代码
Feb 10 Python
python中如何进行连乘计算
May 28 Python
python中的垃圾回收(GC)机制
Sep 21 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
Nov 06 Python
python中用ggplot绘制画图实例讲解
Jan 26 Python
Python Spyder 调出缩进对齐线的操作
Feb 26 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之字符串变相相减的代码
2007/03/19 PHP
php实现数组筛选奇数和偶数示例
2014/04/11 PHP
PHP内置过滤器FILTER使用实例
2014/06/25 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
2016/05/04 PHP
php 使用fopen函数创建、打开文件详解及实例代码
2016/09/24 PHP
php适配器模式简单应用示例
2019/10/23 PHP
HTML Dom与Css控制方法
2010/10/25 Javascript
自己做的模拟模态对话框实现代码
2012/05/23 Javascript
仿新浪微博登陆邮箱提示效果的js代码
2013/08/02 Javascript
js清除input中type等于file的值域(示例代码)
2013/12/24 Javascript
jQuery $命名冲突解决方案汇总
2014/11/13 Javascript
jquery实现文字单行横移或翻转(上下、左右跳转)
2017/01/08 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
2017/03/06 Javascript
vue.js中父组件调用子组件的内部方法示例
2017/10/22 Javascript
bootstrap select下拉搜索插件使用方法详解
2017/11/23 Javascript
前端天气插件tpwidget使用方法详解
2019/06/24 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
[07:31]DOTA2卡尔工作室 英雄介绍主宰篇
2013/06/25 DOTA
[41:05]Serenity vs Pain 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
R vs. Python 数据分析中谁与争锋?
2017/10/18 Python
利用python将json数据转换为csv格式的方法
2018/03/22 Python
python修改txt文件中的某一项方法
2018/12/29 Python
Python之列表实现栈的工作功能
2019/01/28 Python
python字符串和常用数据结构知识总结
2019/05/21 Python
Python笔记之观察者模式
2019/11/20 Python
使用keras2.0 将Merge层改为函数式
2020/05/23 Python
a标签下载链接的简单实现
2016/09/13 HTML / CSS
轻松制作精彩视频:Animoto
2018/09/19 全球购物
医院门卫岗位职责
2013/12/30 职场文书
活动总结报告范文
2014/05/04 职场文书
预备党员综合考察材料
2014/05/31 职场文书
公安机关纪律作风整顿个人剖析材料材料
2014/10/10 职场文书
会议开幕词
2015/01/28 职场文书
药品开票员岗位职责
2015/04/15 职场文书
2016年感恩父亲节活动总结
2016/04/01 职场文书
小学生必读成语故事大全:送给暑假的你们
2019/07/09 职场文书