fileinput库
一、 简介
说到fileinput,可能90%的码农表示没用过,甚至没有听说过。
这不奇怪,因为在python界,既然open可以走天下,何必要fileinput呢?。
其为open方法的高级封装:
fileinput模块可以对一个或多个文件中的内容进行迭代、遍历等操作。
该模块的input()函数有点类似文件readlines()方法,区别在于:
前者是一个迭代对象,即每次只生成一行,需要用for循环迭代。
后者是一次性读取所有行。在碰到大文件的读取时,前者无疑效率更高效。
用fileinput对文件进行循环遍历,格式化输出,查找、替换等操作,非常方便。
二、 常用函数
1、 描述
fileinput.input() # 进行读取文件对象的初始化,返回能够用于for循环遍历的对象
# return FileInput(files, inplace, backup, mode=mode, openhook=openhook)
fileinput.filename() # 返回当前文件的名称
# return fileInput.filename()
fileinput.lineno() # 返回当前已经读取的行的数量(或者序号)
# return fileInput.lineno()
fileinput.filelineno() # 返回当前读取的行的行号
# return fileInput.filelineno()
fileinput.isfirstline() # 检查当前行是否是文件的第一行
# return fileInput.isfirstline()
fileinput.isstdin() # 判断最后一行是否从stdin中读取
# return fileInput.isstdin()
fileinput.close() # 关闭队列,也是关闭文件
fileinput.nextfile() # 关闭当前文件以使下次迭代将从下一个文件(如果存在)读取第一行;不是从该文件读取的行将不会被计入累计行数。直到下一个文件的第一行被读取之后文件名才会改变。
# —>在第一行被读取之前,此函数将不会生效;它不能被用来跳过第一个文件。
# —>在最后一个文件的最后一行被读取之后,此函数将不再生效。
2、 第一个程序
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
__author__ = "A.L.Kun"
__file__ =