Python模块之fileinput

一 简介
  fileinput 是python 提供的一个可以快速遍历,修改一个或者多个文件的模块。我们可以使用该模块进行文本替换 并做文件备份。

二 使用
2.1 使用方法
fileinput.input (files=None, inplace=False, backup='', bufsize=0, mode='r', openhook=None)
files       为要读入的文件 或者文件列表 files=1.txt files=['1.txt','2.txt']
inplace  是原地替换与否,为True时表示重写原文件。默认为False。
backup  备份要替换的文件的后缀  backup='.bak'  files='1.txt' 备份的文件名称为  1.txt.bak
mode    读写模式,默认为只读  
bufsize 读写文件的缓冲区大小,默认为0 ,如果文件比较大 则需要调整该值。

  1. import fileinput

  2. def process(line):

  3.    do_something

  4. for line in fileinput.input():

  5.     process(line) #处理文件的行 然后重新写入源文件

2.2 常用的函数:

  1. fileinput.input() # 读取文件的内容

  2. fileinput.filename() # 文件的名称

  3. fileinput.lineno() # 当前读取行的数量

  4. fileinput.filelineno() # 读取行的行号 

  5. fileinput.isfirstline() # 当前行是否是文件第一行

  6. fileinput.isstdin() # 判断最后一行是否从stdin中读取

  7. fileinput.close() # 关闭队列

2.3 例子

  1. In [4]: for line in fileinput.input('1.txt',inplace=1,backup='.bak'):

  2.    ...: print line.rstrip() + ' line'

  3.    ...:

  4. In [5]: pwd

  5. Out[5]: u'/Users/yangyi'

  6. In [6]: ls 1.txt* 

  7. 1.txt 

  8. 1.txt.bak

查看备份文件

  1. In [7]: cat 1.txt.bak

  2. AA:BB:CC

  3. aa:30:6

  4. cc:50:3

  5. dd:20:7

  6. bb:10:2

  7. ee:40:4

  8. ee:60:1

查看源文件,已经被修改了 

  1. In [8]: cat 1.txt

  2. AA:BB:CC line

  3. aa:30:6 line

  4. cc:50:3 line

  5. dd:20:7 line

  6. bb:10:2 line

  7. ee:40:4 line

  8. ee:60:1 line

三 小结
  本文是简单介绍了fileinput 的使用方式 ,具体更详细的内容可以参考 官方文档 


上一篇:SQL SERVER 快捷键收录


下一篇:[专题1:数组]滑动窗口:209.长度最小的子数组