Python fileinput模块使用介绍


Posted in Python onNovember 30, 2014

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

下面是fileinput模块中的常用函数:

input()    #返回能够用于for循环遍历的对象
filename()  #返回当前文件的名称
lineno()   #返回当前已经读取的行的数量(或者序号)
filelineno() #返回当前读取的行的行号
isfirstline() #检查当前行是否是文件的第一行

创建测试文件test.txt:

# cat > test.txt << EOF
Hello,Python
3water.com
This is a test file
EOF

利用fileinput实现文件内容替换,如:file_input.p(注意文件名,别写成fileinput.py

#!/usr/bin/env python
import fileinput
for line in fileinput.input('test.txt',backup='_bak',inplace=1):
  print line.replace('Python','LinuxEye'),
fileinput.close()

inplace=1:标准输出会被重定向到打开文件;backup='_bak',:替换文件内容之前备份后缀以_bak结尾;另外,在调用fileinput.input()之后记得要fileinput.close()。
执行结果如下:

# python file_input.py #执行file_input.py
# ls test.txt*
test.txt test.txt_bak
 
# cat test.txt
Hello,LinuxEye
3water.com
This is a test file
 
# cat test.txt_bak
Hello,Python
3water.com
This is a test file

其他测试:

>>> import fileinput
>>> for line in fileinput.input('test.txt'):
...   print fileinput.filename(),fileinput.lineno(),fileinput.filelineno()
...
test.txt 1 1
test.txt 2 2
test.txt 3 3
>>> import fileinput
>>> for line in fileinput.input('test.txt'):
...   if fileinput.isfirstline():
...     print line,
...   else:
...     break
...
Hello,LinuxEye
Python 相关文章推荐
python处理文本文件实现生成指定格式文件的方法
Jul 31 Python
Python数据结构与算法之图结构(Graph)实例分析
Sep 05 Python
Python使用numpy模块创建数组操作示例
Jun 20 Python
Django中的文件的上传的几种方式
Jul 23 Python
Python使用lambda表达式对字典排序操作示例
Jul 25 Python
python实现批量修改服务器密码的方法
Aug 13 Python
python pandas利用fillna方法实现部分自动填充功能
Mar 16 Python
python中常见错误及解决方法
Jun 21 Python
详解在Python中使用Torchmoji将文本转换为表情符号
Jul 27 Python
python海龟绘图之画国旗实例代码
Nov 11 Python
OpenCV3.3+Python3.6实现图片高斯模糊
May 18 Python
Python之Matplotlib绘制热力图和面积图
Apr 13 Python
Python 列表list使用介绍
Nov 30 #Python
Python 字典dict使用介绍
Nov 30 #Python
Python 序列化 pickle/cPickle模块使用介绍
Nov 30 #Python
Linux下Python获取IP地址的代码
Nov 30 #Python
Python re模块介绍
Nov 30 #Python
Python os模块介绍
Nov 30 #Python
Python实现的检测网站挂马程序
Nov 30 #Python
You might like
php安全之直接用$获取值而不$_GET 字符转义
2012/06/03 PHP
PHP数学运算与数据处理实例分析
2016/04/01 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
javascript string字符串优化问题
2011/07/31 Javascript
IE6下拉框图层问题探讨及解决
2014/01/03 Javascript
JQuery对表格进行操作的常用技巧总结
2014/04/23 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
jQuery实现折线图的方法
2015/02/28 Javascript
Javascript中replace()小结
2015/09/30 Javascript
javascript闭包(Closure)用法实例简析
2015/11/30 Javascript
微信小程序 实例应用(记账)详解
2016/09/28 Javascript
AngularJs表单验证实例代码解析
2016/11/29 Javascript
一个Vue页面的内存泄露分析详解
2018/06/25 Javascript
使用vuepress搭建静态博客的示例代码
2019/02/14 Javascript
详解Jest结合Vue-test-utils使用的初步实践
2019/06/27 Javascript
Vue实现数据表格合并列rowspan效果
2020/11/30 Javascript
Vue+Koa2+mongoose写一个像素绘板的实现方法
2019/09/10 Javascript
jQuery AJAX应用实例总结
2020/05/19 jQuery
基于Vue中的父子传值问题解决
2020/07/27 Javascript
python实现文件分组复制到不同目录的例子
2014/06/04 Python
Python中设置变量作为默认值时容易遇到的错误
2015/04/03 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
2017/07/24 Python
Python日期格式和字符串格式相互转换的方法
2020/02/18 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
2020/07/14 Python
详解HTML5中的Communication API基本使用方法
2016/01/29 HTML / CSS
详解HTML5中表单验证的8种方法介绍
2016/12/19 HTML / CSS
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
简历中个人求职的自我评价模板
2013/11/29 职场文书
预备党员入党思想汇报
2014/01/04 职场文书
技术合作协议书范本
2014/04/18 职场文书
家长对老师的评语
2014/04/18 职场文书
2014年班主任自我评价范文
2014/04/23 职场文书
舞蹈教育学专业求职信
2014/06/29 职场文书
安徽导游词
2015/02/12 职场文书
python爬虫selenium模块详解
2021/03/30 Python
CSS3点击按钮圆形进度打钩效果的实现代码
2021/03/30 HTML / CSS