问题描述
我正在使用 fileinput.FileInput 从文件中获取读取行。
for line in fileinput.FileInput("abc.txt",inplace=1):
if matching_string in line:
#print few lines
print line,
例如abc.txt是
Hello
World
This is
Python
Script
Bye
matching_string 是“这个”。 我希望输出“abc.txt”为:
Hello
World
File changed
C++
Script
Bye
我需要修改中间的一些行,跳过的行数不固定。有时,我可能需要像上面的例子那样跳过 2 行,有时只需要 1 行或更多行。
解决方法
将 fileinput
对象分配给变量。然后您可以使用 next()
读取循环体内的一行。
with fileinput.FileInput("abc.txt",inplace=1) as f:
for line in f:
if matching_string in line:
#print few lines
next(f) # skip over the next input line
print(line)