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()
相关文章推荐
- 算法导论(四) (1)
- NYOJ 46 最少乘法次数
- iOS开发UI高级—02程序启动原理和UIApplication
- NYOJ 45 棋盘覆盖
- adb install tab
- unix中统计行数,字符和字数
- iOS开发UI基础—32直接使用UITableView Controller
- iOS开发UI高级—01常见的项目文件介绍
- NYOJ 722 数独
- 解析nginx负载均衡
- 出现 leaked ServiceConnection 解决办法
- SQLServer2008找出所有包含172.17.224.40字样的存储过程
- 快速排序
- Flex builder经常会抛出:进程已终止,没有建立到调试器的连接。error while loading initial content的解决方法
- EL表达式
- js判断字符串以指定字符串结尾/网上整理
- 谈异常控制流
- FatMouse' Trade
- iOS开发UI基础—31在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建
- C++实现事件机制