以下是关于 fileinput 模块的详细先容:
导入模块要利用 fileinput 模块,首先须要导入它:
import fileinput
紧张功能
fileinput 模块紧张用于迭代处理文件的行,同时支持一些方便的功能,如更换、备份等。

可以利用 fileinput.input() 函数来逐行迭代文件内容:
import fileinputwith fileinput.input(files=('example.txt')) as f: for line in f: print(f.filename(), f.lineno(), line, end='')
上述代码逐行读取了 example.txt 文件的内容,并输出了文件名、行号和行内容。
2. 更换文件内容fileinput 模块还许可在迭代的过程中直接更换文件内容。例如,将文件中所有的 "old_text" 更换为 "new_text":
import fileinputwith fileinput.input(files=('example.txt'), inplace=True, backup='.bak') as f: for line in f: print(line.replace('old_text', 'new_text'), end='')
import fileinput with fileinput.input(files=('example.txt'), inplace=True, backup='.bak') as f: for line in f: print(line.replace('old_text', 'new_text'), end='')
在上述例子中,inplace=True 表示直接在原文件上进行修正,而 backup='.bak' 表示在修正前备份原文件,并在原文件名后添加 .bak 后缀。
3. 支持多个文件fileinput 模块还支持处理多个文件,可以通过通报文件名列表给 files 参数来实现:
import fileinputfile_names = ['file1.txt', 'file2.txt', 'file3.txt']with fileinput.input(files=file_names) as f: for line in f: print(f.filename(), f.lineno(), line, end='')
fileinput 模块供应了一个方便的接口,用于逐行处理文件、更换文件内容等操作。通过灵巧利用它的功能,你可以在处理文件时更加高效地完成各种任务。阅读官方文档以获取更多详细信息:fileinput 模块文档。