手机
当前位置:查字典教程网 >脚本专栏 >python >Python中文件遍历的两种方法
Python中文件遍历的两种方法
摘要:关于Python的文件遍历,大概有两种方法,一种是较为便利的os.walk(),还有一种是利用os.listdir()递归遍历。方法一:利用...

关于Python的文件遍历,大概有两种方法,一种是较为便利的os.walk(),还有一种是利用os.listdir()递归遍历。

方法一:利用os.walk

os.walk可以自顶向下或者自底向上遍历整个文件树,然后返回一个含有3个元素的tuple,(dirpath, dirnames, filenames),要注意的是,os.walk()会返回一个generater,所以调用的时候一定要放到for循环中。

复制代码 代码如下:

import os

def walk_dir(dirname):

for root,dirs,files in os.walk(dirname):

for f in files:

yield os.path.join(root, f)

方法二:利用os.listdir()

这个方法也比较简单,列出目录然后判断是不是文件夹,不是的话直接返回文件路径,是的话递归调用。

复制代码 代码如下:

import os

def walk_dir2(dirname):

for d in os.listdir(dirname):

path = os.path.join(dirname, d)

if os.path.isdir(path):

#note recursive in for...in...

for f in walk_dir2(path):

yield f

else:

yield path

这里值得一提的是,由于函数中使用了yield,所以会被认为是一个generater,递归调用的时候也需要放到for循环中,否则函数并不会被真正执行。最新的Python 3.3中引入了yield from语法,可以解决上面的问题。

【Python中文件遍历的两种方法】相关文章:

Python enumerate遍历数组示例应用

python中 ? : 三元表达式的使用介绍

python生成器的使用方法

Python内置的字符串处理函数整理

vc6编写python扩展的方法分享

python二叉树遍历的实现方法

Python 随机生成中文验证码的实例代码

通过python下载FTP上的文件夹的实现代码

Python 开发Activex组件方法

python实现问号表达式(?)的方法

精品推荐
分类导航