• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > python中遍历文件的3个方法

python中遍历文件的3个方法

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了python 遍历文件夹,python 遍历文件,python遍历文件目录,python遍历文件内容,python3 遍历文件夹等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

今天写一个在windows下批量修改文件名的python脚本,用到文件的遍历。用python进行文件遍历有多种方法,这里列举并说明一下。

os.path.walk()

这是一个传统的用法。

walk(root,callable,args)方法有三个参数:要遍历的目录,回调函数,回调函数的参数(元组形式)。

调用的过程是遍历目录下的文件或目录,每遍历一个目录,调用回调函数,并把args作为参数传递给回调函数。

回调函数定义时也有三个参数,比如示例中的func中的三个参数,分别为walk传来的参数、目录的路径、目录下的文件列表(只有文件名,不是完整路径)。请看示例:
import os
s = os.sep #根据unix或win,s为\或/
root = "d:" + s + "ll" + s #要遍历的目录

def func(args,dire,fis): #回调函数的定义
    for f in fis:
        fname = os.path.splitext(f)  #分割文件名为名字和扩展名的二元组
        new = fname[0] + 'b' + fname[1]  #改名字
        os.rename(os.path.join(dire,f),os.path.join(dire,new)) #重命名

os.path.walk(root,func,()) #遍历
</div>

这种方法在使用时有个问题,不能递归遍历下一层(这点我还不确定,欢迎指正)。

python的高级版本中加入了os.walk(),比这个好用。

os.walk()

原型为:os.walk(top, topdown=True, onerror=None, followlinks=False)

我们一般只使用第一个参数。(topdown指明遍历的顺序)
该方法对于每个目录返回一个三元组,(dirpath, dirnames, filenames)。第一个是路径,第二个是路径下面的目录,第三个是路径下面的非目录(对于windows来说也就是文件)。请看示例:
import os
s = os.sep
root = "d:" + s + "ll" + s 

for rt, dirs, files in os.walk(root):
    for f in files:
        fname = os.path.splitext(f)
        new = fname[0] + 'b' + fname[1]
        os.rename(os.path.join(rt,f),os.path.join(rt,new))
</div>

这种方式可以递归遍历所有的文件。

listdir

可以使用os模块下的几个方法组合起来进行遍历。请看示例:

import os
s = os.sep
root = "d:" + s + "ll" + s

for i in os.listdir(root):
    if os.path.isfile(os.path.join(root,i)):
        print i
</div>

这里需要注意的是,其中的i是目录或文件名,不是完整的路径,在使用时要结合os.path.join()方法还原完整路径。

遍历搞定之后,文件名的修改可以使用正则表达式做一些高级的处理。

另外,还可以使用os.system(cmd)来调用shell里面的相关命令对文件进行处理,很好很强大。

</div>

您可能想查找下面的文章:

  • Python遍历文件夹和读写文件的实现方法
  • Python实现Windows和Linux之间互相传输文件(文件夹)的方法
  • 使用python遍历指定城市的一周气温
  • Python 遍历列表里面序号和值的方法(三种)
  • Python 遍历子文件和所有子文件夹的代码实例
  • python 实现删除文件或文件夹实例详解
  • Python文件与文件夹常见基本操作总结
  • python之文件的读写和文件目录以及文件夹的操作实现代码
  • Python遍历文件夹和读写文件的实现代码
  • 动感网页相册 python编写简单文件夹内图片浏览工具

相关文章

  • Python实现求最大公约数及判断素数的方法
  • Windows系统下使用flup搭建Nginx和Python环境的方法
  • Python实现统计英文单词个数及字符串分割代码
  • Python生成随机密码
  • python基础教程之获取本机ip数据包示例
  • 用Python编写脚本使IE实现代理上网的教程
  • Python实现发送email的几种常用方法
  • Python中MYSQLdb出现乱码的解决方法
  • 使用Python实现Wake On Lan远程开机功能
  • Python Socket编程入门教程

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python Deque 模块使用详解
    • 详解Python的collections模块中的deque双端队列结构
    • 在Python中处理字符串之ljust()方法的使用简介
    • 解密Python中的描述符(descriptor)
    • python 自动提交和抓取网页
    • Python中用于计算对数的log()方法
    • python通过装饰器检查函数参数数据类型的方法
    • Python 爬虫爬取指定博客的所有文章
    • 通过C++学习Python
    • python中常用的九种预处理方法分享

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有