python中fileinput模块使用方法
2017-07-04 20:56
656 查看
fileinput模块提供处理一个或多个文本文件的功能,可以通过使用for循环来读取一个或多个文本文件的所有行。python2.7文档关于fileinput介绍:fileinput
fileinput常用函数
重点函数input介绍
原型:fileinput.input (files='filename', inplace=False, backup='', bufsize=0, mode='r', openhook=None)
参数说明如下:
常用实例
(1)查看指定文件内容
(2)修改指定文件内容,并备份原文件
说明:注意print语句最后有一个逗号,否则修改后的文件每一行下方会多出一个空行
(3)修改指定目录下的所有以.txt后缀的文件内容,不对原文件进行备份
(4)在文件每行的起始处添加行号。注意使用fileinput.filelineno()和fileinput.lineno()的区别。lineno()会在前一个文件行数的基础上+1开始执行。
(5)在每个文件的开始处打印文件名。
fileinput常用函数
fileinput.input() #返回能够用于for循环遍历的对象 fileinput.filename() #返回当前文件的名称 fileinput.lineno() #返回当前已经读取的行的数量(或者序号) fileinput.filelineno() #返回当前读取行的行号 fileinput.isfirstline() #检查当前行是否是文件的第一行 fileinput.isstdin() #判断最后一行是否从stdin中读取 fileinput.close() #关闭队列
重点函数input介绍
原型:fileinput.input (files='filename', inplace=False, backup='', bufsize=0, mode='r', openhook=None)
参数说明如下:
files #文件的路径列表,默认是stdin方式,多文件['1.txt','2.txt',...] inplace #是否将标准输出的结果写回文件,默认值为Fasle不取代 backup #备份文件的扩展名,只指定扩展名,如.bak。如果该文件的备份文件已存在,则会自动覆盖。 bufsize #缓冲区大小,默认为0,如果文件很大,可以修改此参数,一般默认即可 mode #读写模式,默认为只读 openhook #该钩子用于控制打开的所有文件,比如说编码方式等;
常用实例
(1)查看指定文件内容
#-*- coding:utf-8 -*-# import fileinput for line in fileinput.input('/etc/passwd'): print line,
(2)修改指定文件内容,并备份原文件
#-*- coding:utf-8 -*-# import fileinput for line in fileinput.input('ip.txt',backup='.bak',inplace=1): print line.replace('192.168.0.1','10.10.10.10'),
说明:注意print语句最后有一个逗号,否则修改后的文件每一行下方会多出一个空行
(3)修改指定目录下的所有以.txt后缀的文件内容,不对原文件进行备份
#-*- coding:utf-8 -*-# import fileinput import glob for line in fileinput.input(files=glob.glob('./*.txt'),inplace=1): print line.replace('192.168.0.1','10.10.10.10'),
(4)在文件每行的起始处添加行号。注意使用fileinput.filelineno()和fileinput.lineno()的区别。lineno()会在前一个文件行数的基础上+1开始执行。
#-*- coding:utf-8 -*-# import fileinput for eachLine in fileinput.input(files=['temp1.txt', 'temp2.txt'], inplace=True): print "Line " + str(fileinput.filelineno()) + ': ' + eachLine,
(5)在每个文件的开始处打印文件名。
#-*- coding:utf-8 -*-# import fileinput for eachLine in fileinput.input(files=['temp1.txt', 'temp2.txt'], inplace=True): if fileinput.isfirstline(): print fileinput.filename() print eachLine,
相关文章推荐
- python使用fileinput模块实现逐行读取文件的方法
- Python fileinput模块使用介绍
- 使用fileinput模块进行原地修改文件 分类: python 小练习 2013-08-13 16:47 618人阅读 评论(0) 收藏
- Python fileinput模块使用实例
- Python fileinput模块使用介绍
- Python fileinput模块使用实例
- Python基础【第十一篇】文件操作(file()、open()方法和fileinput模块)
- Python fileinput模块使用实例
- Python使用os模块和fileinput模块来操作文件目录
- Python fileinput模块使用实例
- Python fileinput模块使用实例
- Python使用os模块和fileinput模块来操作文件目录
- Python中fileinput模块使用
- 在python中使用cx_Oracle模块出现“DLL Load failed”的处理方法
- python simplejson模块的使用方法
- 在python中使用cx_Oracle模块出现“DLL Load failed”的处理方法
- Python 模块paramiko简单使用方法
- fileinput模块 分类: python基础学习 python 小练习 python Module 2013-08-15 17:18 417人阅读 评论(0) 收藏
- python标准日志模块logging的使用方法
- python simplejson模块的使用方法