使用Python的fileinput模块读取文件和输入
发布时间:2023-12-15 20:07:11
fileinput是一个Python的标准库模块,用于读取文件和处理输入。它可以用于逐行读取文件内容,并允许用户对每一行进行处理。fileinput模块还可以直接处理来自用户的输入。
使用fileinput模块读取文件非常简单。下面是一个读取文件内容并输出每一行的例子:
import fileinput
# 使用fileinput.input()打开文件
for line in fileinput.input("input.txt"):
# 处理每一行的内容
print(line.rstrip()) # 输出去除行尾换行符的内容
这个例子中,我们使用fileinput.input()函数打开了一个名为"input.txt"的文件,并循环遍历文件的每一行。我们使用rstrip()函数去除每一行的行尾换行符,并通过print语句输出每一行的内容。
如果我们想要修改文件内容,可以通过将fileinput模块的inplace参数设置为True,并使用fileinput.input()函数的inplace属性。下面是一个示例:
import fileinput
# 使用fileinput.input()打开文件,并设置inplace参数为True
with fileinput.input("input.txt", inplace=True) as f:
for line in f:
# 对每一行进行处理,并将修改后的内容输出到文件
print(line.replace("apple", "orange"), end="")
这个例子中,我们打开了一个名为"input.txt"的文件,并设置inplace参数为True。然后,我们循环遍历文件的每一行,并使用replace()函数将每一行中的"apple"替换为"orange"。通过将修改后的内容输出到文件,我们实现了对文件内容的修改。
除了读取文件,fileinput模块还可以处理来自用户输入的内容。下面是一个例子:
import fileinput
# 处理来自用户输入的内容
for line in fileinput.input():
# 处理每一行的内容
print(line.rstrip()) # 输出去除行尾换行符的内容
这个例子中,我们使用fileinput.input()函数处理来自用户输入的内容,然后循环遍历每一行,并输出去除行尾换行符的内容。用户可以通过键盘输入内容,并以Ctrl+D结束输入。
总的来说,fileinput模块可以方便地读取文件内容并对每一行进行处理,也可以处理来自用户的输入。它的使用非常简单,是处理文件和输入的一个有用工具。
