在python中写入文件时跳过几行

在python中写入文件时跳过几行,python,python-3.x,file-io,scripting,Python,Python 3.x,File Io,Scripting,我正在使用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 匹配的字符串是“This”。 我希望输出“abc.tx

我正在使用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
匹配的字符串是“This”。 我希望输出“abc.txt”为:


我需要修改中间的一些行,要跳过的行数不是固定的。有时,我可能不得不跳过上面示例中的两行,有时只跳过一行或多行。

文件输入
对象分配给变量。然后可以使用
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)

打印行,
不是有效的Python 3.x语法,它应该是
打印(行)
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)