Python fileinput模块使用介绍

 更新时间:2014年11月30日 21:23:23   投稿:mdxy-dxy  
这篇文章主要介绍了Python fileinput模块使用方法,需要的朋友可以参考下

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

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

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

创建测试文件test.txt:

# cat > test.txt << EOF
Hello,Python
www.jb51.net
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
www.jb51.net
This is a test file
 
# cat test.txt_bak
Hello,Python
www.jb51.net
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偏函数语法的推导方法步骤

    这篇文章主要介绍了零基础学习python偏函数语法的推导方法步骤详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • python 提取html文本的方法

    python 提取html文本的方法

    在解决自然语言处理问题时,有时你需要获得大量的文本集。互联网是文本的最大来源,但是从任意HTML页面提取文本是一项艰巨而痛苦的任务。本文将讲述python高效提取html文本的方法
    2021-05-05
  • Python进度条实时显示处理进度的示例代码

    Python进度条实时显示处理进度的示例代码

    本篇文章主要介绍了Python进度条实时显示处理进度的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • python+tkinter编写电脑桌面放大镜程序实例代码

    python+tkinter编写电脑桌面放大镜程序实例代码

    这篇文章主要介绍了Python+tkinter编写电脑桌面放大镜程序实例代码,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • python读取和保存视频文件

    python读取和保存视频文件

    这篇文章主要为大家详细介绍了python读取显示和保存视频文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • Matplotlib子图的创建的实现

    Matplotlib子图的创建的实现

    本文主要介绍了Matplotlib子图的创建的实现,包括fig.add_axes()创建子图和plt.axes创建子图这两种方法,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • pandas实现手机号号码中间4位匿名化的示例代码

    pandas实现手机号号码中间4位匿名化的示例代码

    本文主要介绍了pandas实现手机号号码中间4位匿名化的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Python使用jsonpath_ng的方法

    Python使用jsonpath_ng的方法

    json path_ng 是 Python 中一款解析和操作 JSON 数据的工具,它可以通过 JSONPath 语法来对 JSON 数据进行定位和提取,其用法类似于 XPath 语法对 XML 数据进行定位,这篇文章主要介绍了Python使用jsonpath_ng的方法,需要的朋友可以参考下
    2023-12-12
  • python使用Tesseract库识别验证

    python使用Tesseract库识别验证

    这篇文章主要为大家详细介绍了python使用Tesseract库识别验证,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Pytho常见的数据可视化库,小白必备

    Pytho常见的数据可视化库,小白必备

    Python作为数据分析的重要语言为数据分析的每个环节都提供了很多库.常见的数据可视化库包括matplotib,seaborm,ggplot,bokeh,pygal,pyecharts等,下面小编一一介绍下,需要的朋友可以参考下
    2021-05-05

最新评论