您的位置:首页 > 其它

fileinput模块:读取,替换文本内容

2015-06-03 13:56 351 查看

fileinput模块:读取,替换文本内容

fileinput模块提供处理一个或多个文本文件的功能,可以通过使用for循环来读取一个或多个文本文件的所有行。它的工作方式和readlines很类似,不同点在于它不是将全部的行读到列表中而是创建了一个xreadlines对象。

功能函数介绍:
1. 遍历文本内容
import fileinput
for eachline in fileinput.input("article.ids.txt"):
print eachline
实现的方式其实跟readlines是一样的!
2. 打印输入的文件名称
import fileinput
for eachline in fileinput.input("article.ids.txt"):
print fileinput.filename()#打印article.ids.txt
3. 打印当前行号与行的内容
importfileinput
foreachline in fileinput.input("article.ids.txt"):
printfileinput.lineno(),eachline
4. 返回是否是第一行
import fileinput
for eachline in fileinput.input("article.ids.txt"):
if fileinput.isfirstline():print eachline;break
5. 文本文件的替换操作很简单.
只需要把 inplace 关键字参数设置为 1 , 传递给 input 函数, 该模块会帮你做好一切. inplace=1:标准输出会被重定向到打开文件;backup=’_bak’,:替换文件内容之前备份后缀以_bak结尾;另外,在调用fileinput.input()之后记得要fileinput.close()。

示例1-使用fileinput模块将 CRLF
改为 LF

importfileinput, sys

for line in fileinput.input(inplace=1):

# convert Windows/DOS text files toUnix files

if line[-2:] == "/r/n":

line = line[:-2] + "/n"


示例2-使用文件先备份为bak,再将Java改为Python
importfileinput
for line infileinput.input('test.txt',backup='_bak',inplace=1):
printline.replace('Java','Python'),
fileinput.close()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: