fileinput 模块,对输入的文件流进行迭代操作,可以说是对 open() 的一个扩展,它可以直接修改文件,也可以对他们进行备份

模块方法:

fileinput.input([files[, inplace[, backup[, bufsize[, mode[, openhook]]]]]]):创建 FileInput 类的实例,files 是输入的文件流,inplace 为真就会覆盖重写,backup 指定备份文件后缀,bufsize 指定缓冲大小,mode 指定打开模式,openhook 是需要两个参数(filename,mode)的函数,不能同 inplace 一起使用。bufsize 在2.7版本后不再使用

fileinput.filename():返回当前文件的名称
fileinput.fileno():返回当前打开的文件的序号
fileinput.lineno():返回当前已经读取的行的数量(或者序号)
fileinput.filelineno():返回当前读取的行的行号
fileinput.isfirstline():检查当前行是否是文件的第一行
fileinput.isstdin():判断最后一行是否从stdin中读取
fileinput.nextfile():跳至下一个文件
fileinput.close():关闭队列

FileInput 对象:由 fileinput.input 生成,也可以自己创建

fileinput.FileInput([files[, inplace[, backup[, bufsize[, mode[, openhook]]]]]]):所有参数和方法同 fileinput.input,除了它还有额外的 readline()方法和 __getitem__() 方法,都是正常理解的意思

此外模块自带两个用于 openhook 的函数

fileinput.hook_compressed(filename, mode):用于打开通过 gzip 和 bz2 模块压缩的文件
fileinput.hook_encoded(encoding):指定打开文件的编码方式