我想打印"结束扫描"在行尾的时候"二进制[4]:"仅出现第二次。
for line in infile:
with open('convert-profile.txt', "a") as f1:
if "index" in line:
f1.write("\n"+line)
elif "scan start time" in line:
f1.write(line)
elif "binary: [4]" in line:
f1.write(line)
elif "binary: [4]" in line: *for the second time after the same index only*
f1.write(line+"end scan")
是否可以通过python在if-loop中执行此操作?
infile是一个逐行信息的文本文件
index: 1
scan start time: 0.01
binary1
binary [4]: 10 2 3 7
binary2
binary [4]: 11 11 34 12
index: 2
scan start time: 0.03 ...
答案 0 :(得分:3)
让外部变量跟踪文件中出现的“binary:[4]”的次数。
尝试:
cnt = 0
for line in infile:
with open('convert-profile.txt', "a") as f1:
if "index" in line:
f1.write("\n"+line)
elif "scan start time" in line:
f1.write(line)
elif "binary [4]:" in line and cnt != 1:
f1.write(line)
cnt += 1
elif "binary [4]:" in line and cnt == 1:
f1.write(line+"end scan")
修改强>
我注意到输入文件的格式为binary [4]:
,而不是代码中的binary: [4]
,所以我假设您打算使用前者。