Python fileinput模块使用介绍

作者:mdxy-dxy 时间:2023-08-22 14:32:12 

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

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

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

创建测试文件test.txt:

# cat > test.txt << EOFHello,Pythonwww.jb51.netThis is a test fileEOF

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

#!/usr/bin/env pythonimport fileinputfor 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.txtHello,LinuxEyewww.jb51.netThis is a test file # cat test.txt_bakHello,Pythonwww.jb51.netThis is a test file

其他测试:

>>> import fileinput>>> for line in fileinput.input('test.txt'):...   print fileinput.filename(),fileinput.lineno(),fileinput.filelineno()...test.txt 1 1test.txt 2 2test.txt 3 3

>>> import fileinput>>> for line in fileinput.input('test.txt'):...   if fileinput.isfirstline():...     print line,...   else:...     break...Hello,LinuxEye

标签:Python,fileinput
0
投稿

猜你喜欢

  • Vue2.0 axios前后端登陆拦截器(实例讲解)

    2023-07-02 16:59:11
  • Python面向对象之多态原理与用法案例分析

    2023-08-16 00:09:59
  • 浅谈ThinkPHP的URL重写

    2024-05-13 09:24:20
  • vue.set向对象里增加多层数组属性不生效问题及解决

    2024-05-09 10:52:12
  • SWFObject2.0: 基于Javascript的Flash媒体版本检测与嵌入模块

    2009-08-19 13:24:00
  • python十进制和二进制的转换方法(含浮点数)

    2021-04-03 02:26:24
  • mysql查询本周内每天统计量按天展示的示例代码

    2024-01-22 07:05:01
  • asp如何制作一个搜索引擎链接程序?

    2010-07-07 12:26:00
  • MySQL中的回表和索引覆盖示例详解

    2024-01-20 11:37:16
  • oracle中to_date详细用法示例(oracle日期格式转换)

    2024-01-19 05:31:33
  • JS与Ajax Get和Post在使用上的区别实例详解

    2024-04-23 09:07:40
  • Python实现Socket通信建立TCP反向连接

    2023-11-13 04:20:19
  • BootStrap创建响应式导航条实例代码

    2023-08-09 02:09:55
  • python破解WiFi教程代码,Python蹭网原理讲解

    2022-09-05 20:14:43
  • python 8种必备的gui库

    2021-10-28 21:10:01
  • Python使用os模块实现更高效地读写文件

    2021-08-11 00:41:39
  • ASP中ServerVariables集合用法详解

    2007-09-14 10:26:00
  • SpringBoot图文并茂详解如何引入mybatis与连接Mysql数据库

    2024-01-25 15:07:32
  • Python实现一个发送程序和接收程序

    2023-06-18 09:04:38
  • 高亮闪烁某个元素的js脚本

    2024-04-16 09:04:27
  • asp之家 网络编程 m.aspxhome.com