fileinput是python的标准库,使用fileinput,可以依次读取命令行参数中给出的多个文件。也就是说,fileinput会遍历sys.argv[1:]列表,并依次读取列表中的文件。如果该列表为空,则fileinput默认读取标准输入中的内容。


fileiinput常用方法如下:

filename当前正在读取的文件名
fileno文件的描述符
filelineno
正在读取的行是当前文件的第几行
isfirstline
正在读取的行是否为当前文件的第1行
isstdin正在读取的文件是否是为标准输入读取的

使用举例:

python环境:python3.6

python代码:

import fileinput

for line in fileinput.input():
    filemeta = ['文件名:' + fileinput.filename(),
                '文件描述符: ' + str(fileinput.fileno()),
                '正在读取第 ' + str(fileinput.filelineno()) + ' 行',
                '是否为第1行: ' + str(fileinput.isfirstline()),
                '是否从标准输入读入 : ' + str(fileinput.isstdin())
                ]
    print(*filemeta, end='')
    print(' ', end='')
    print(line, end='')


在linux上执行:

python test.py /etc/passwd

输出如下:

blob.png