我有文本文件(input.txt)
*HEADING
*NODE, NSET=ALLNODES
1, 0.000000e+00, 0.000000e+00, 0.000000e+00
2, 2.500000e-01, 0.000000e+00, 0.000000e+00
*ELEMENT, TYPE=S9R5, ELSET=EB1
...
...
...
...
**
* END OF FILE
我的目标是用换行替换行(*ELEMENT, TYPE=S9R5, ELSET=EB1
)和(**
)之间的所有行。
并保持文件的其余部分不变。使用:open('input.txt', 'w') as f1:
的任何解决方案都会删除文件中的所有内容并编写新的两行,这不是我需要的。
答案 0 :(得分:1)
这应该做的工作:
text = open("input.txt", "r").read()
with open("input.txt", "w") as f:
for line in text.split("\n"):
if "line 1" in line:
line = line.replace("line 1", "line 3")
elif "line 2" in line:
line = line.replace("line 2", "line 4")
f.write(line + "\n")
我将您的file
复制到名为file
的{{1}}并完全测试了input.txt
,并给出了正确的code
(即更改了output
1}}以预期的方式),所以希望它也适合你!