【发布时间】:2021-10-07 12:21:03
【问题描述】:
【问题讨论】:
-
您可能应该包含一些可重现的数据,以便其他用户更容易帮助您并为您提供有效的答案。您是否已经尝试过任何代码?
【问题讨论】:
遍历行,将上一行保存在变量中。
如果当前行不以[ 开头,请将其添加到上一行。
否则将上一行保存到文件并更新它。
【讨论】:
您可以尝试以下方法:
lines = []
with open("file_in.txt") as f_in:
for line in f_in:
if line.startswith("["):
lines.append(line)
else:
lines[-1] += line # append to last line
with open("file_out.txt", "w") as f_out:
f_out.writelines(lines)
【讨论】:
lines[-1][:-1] += line 替换lines[-1] += line 如果可行,我将编辑答案
如上所述,每行末尾的 \n 保持文件相同。在合并行之前应删除“\n”。这应该可以解决问题。
lines = []
with open("file_in.txt") as f_in:
for line in f_in:
if line.startswith("["):
lines.append(line)
else:
lines[-1] = lines[-1][:-1]
lines[-1] += line # append to last line
with open("file_out.txt", "w") as f_out:
f_out.writelines(lines)
【讨论】: