fileinput:一个txt文件的Python库

发布时间 2023-12-05 14:45:47作者: 北京测试菜鸟

文件处理和输入流时,Python中的fileinput模块是一个非常有用的工具。fileinput模块允许迭代处理多个文件,同时还可以处理标准输入流。以下是Python中fileinput模块的五个常见用法。

1. 逐行迭代文件

fileinput模块可以用于逐行迭代处理文件中的内容。

import fileinput

for line in fileinput.input('data.txt'):
    print(line, end='')

输出:

 

2. 替换文件中的文本

fileinput模块还可以用于在文件中替换指定的文本。如何将文件中的"old"替换为"new":

import fileinput

for line in fileinput.input('data.txt', inplace=True):
    line = line.replace('data', 'new')
    print(line, end='')

输出(文件data.txt被修改):

 

3. 处理多个文件

fileinput模块可以处理多个文件,而不仅限于单个文件。如何逐行读取多个文件的内容:

import fileinput

for line in fileinput.input(['anve.txt', 'case.txt', 'data.txt'], encoding="utf-8"):
    print(line, end='')

 输出:

 

4. 记录当前文件名和行号

fileinput模块可以记录当前处理的文件名和行号。如何打印每行的文件名和行号:

import fileinput

for line in fileinput.input('data.txt', encoding="utf8"):
    print(f'File: {fileinput.filename()}, Line: {fileinput.filelineno()}, Content: {line}', end='')

输出: