9.11. fileinput模块操作文件

#!/usr/bin/env python
# -*- coding:utf8 -*-
# auther; 18793
# Date:2019/6/28 13:00
# filename: fileinput模块操作文件.py
'''
fileinput.input(): 返回一个可以用于迭代的一个或多个文件所有行的对象
fileinput.lineno():返回当前读取的行的数量
fileinput.filename():  返回当前的文件名称
fileinput.filelineno():返回当前读取行在文件中的行数
fileinput.isfirstline():返回当前行是否是文件的第一行
'''
import fileinput


def demo_fileinput():
    with fileinput.input(["test_num.txt", "test2_num.txt"]) as lines:  # 使用with语句
        for line in lines:
            print("总第{0}行,文件{1}中第{2}行".format(fileinput.lineno(),
                                              fileinput.filename(),
                                              fileinput.filelineno()))
            print(line.strip())

if __name__ == '__main__':
    demo_fileinput()

输出内容:

总第1行,文件test_num.txt中第1行
1
总第2行,文件test_num.txt中第2行
2
总第3行,文件test_num.txt中第3行
3
总第4行,文件test_num.txt中第4行
4
总第5行,文件test_num.txt中第5行