如何修改Python代码仅打印指定标识间的中间内容
代码修改方案
原代码会连带打印标识行,核心问题是标识行触发开关的同时被输出了。调整逻辑让标识行仅切换打印状态、不输出自身即可,修改后的代码如下:
with open('dipole.txt', 'r') as fp: always_print = False for line in fp: # 遇到Quadrupole时关闭打印开关,跳过当前行 if 'Quadrupole' in line: always_print = False continue # 遇到Dipole moment时开启打印开关,跳过当前行 if "Dipole moment" in line: always_print = True continue # 开关开启时打印中间行 if always_print: print(line, end='')
修改说明
- 调整逻辑顺序:先处理标识行的状态切换,再判断是否打印当前行,确保标识行不会被输出;
- 用
continue跳过标识行:遇到两个关键词行时,仅切换开关状态,直接跳过打印步骤; - 优化文件操作:直接用
with语句打开文件,自动管理资源,避免手动关文件的遗漏; - 避免重复换行:
print(line, end='')保留文件原换行格式,防止输出出现多余空行。
内容的提问来源于stack exchange,提问作者Kish Kharka
相关产品推荐
相关产品推荐

