fileinput.input(files="filename1, filename2, ...", inplace=False, backup='', bufsize=0, mode='r', openhook=None)
此函数会返回一个 FileInput 对象,它可以理解为是将多个指定文件合并之后的文件对象。其中,各个参数的含义如下:和 open() 函数返回单个的文件对象不同,fileinput 对象无需调用类似 read()、readline()、readlines() 这样的函数,直接通过 for 循环即可按次序读取多个文件中的数据。注意,和 open() 函数不同,input() 函数不能指定打开文件的编码格式,这意味着使用该函数读取的所有文件,除非以二进制方式进行读取,否则该文件编码格式都必须和当前操作系统默认的编码格式相同,不然 Python 解释器可能会提示 UnicodeDecodeError 错误。
函数名 | 功能描述 |
---|---|
fileinput.filename() | 返回当前正在读取的文件名称。 |
fileinput.fileno() | 返回当前正在读取文件的文件描述符。 |
fileinput.lineno() | 返回当前读取了多少行。 |
fileinput.filelineno() | 返回当前正在读取的内容位于当前文件中的行号。 |
fileinput.isfirstline() | 判断当前读取的内容在当前文件中是否位于第 1 行。 |
fileinput.nextfile() | 关闭当前正在读取的文件,并开始读取下一个文件。 |
fileinput.close() | 关闭 FileInput 对象。 |
文件描述符是一个文件的代号,其值为一个整数。后续章节将会介绍关于文件描述符的操作。
#file.txt
Python教程
http://c.biancheng.net/python/
#my_file.txt
Linux教程
http://c.biancheng.net/linux_tutorial/
import fileinput #使用for循环遍历 fileinput 对象 for line in fileinput.input(files=('my_file.txt', 'file.txt')): # 输出读取到的内容 print(line) # 关闭文件流 fileinput.close()
程序执行结果为:在使用 fileinput 模块中的 input() 函数之前,一定要先引入 fileinput 模块。
Linux教程
http://c.biancheng.net/linux_tutorial/
Python教程
http://c.biancheng.net/python/
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有