我有几个动态创建的配置文件,格式如下:
line1
line2
lines.....
# BEGIN TAG1
foo
foo
foo
# END TAG1
# BEGIN TAG2
bar
bar
bar
# END TAG2
lines
lines
lines
我需要删除BEGIN和END之间用于特定TAG的行(即:在BEGIN TAG1和END TAG1之间,我如何使用python执行此操作?。我之前使用sed执行此操作:
sed -n '/# BEGIN i-83/,/# END i-83/!p'
但我没有找到python的方式,我更喜欢不进行系统调用从python启动sed。
结果应该是这样的:
line1
line2
lines.....
# BEGIN TAG2
bar
bar
bar
# END TAG2
lines
lines
lines
祝你好运
答案 0 :(得分:0)
你可以这样做,
with open(file) as f:
m = True
for line in f:
if 'BEGIN TAG1' in line:
m = False
elif 'END TAG1' in line:
m = True
continue
if m:
print (line, end="")