说我有一个像这样的lorem ipsum文本:
Lorem ipsum dolor坐下来,他的semper vivendo
apeirian,graece electram sea an,vix assum euismod
luptatum ei。Duo an diceret delicata referrentur。 Cum ex mazim
legendos corrumpit,eu fuisset omnesque qui,
坐在cu populo possit placerat。 Lorem dolore ut,
在他的ancillae incorrupte。 in esse inani nec。
我想用两行代表这两段,如下所示:
Lorem ipsum dolor坐下来,他的semper vivendo apeirian,graece electram sea an,vix assum euismod luptatum ei。
Duo an diceret delicata referrentur。 Cum ex mazim legendos corrumpit,eu fuisset omnesque qui,sit cu populo possit placerat。 Lorem dolore ut,在他的ancillae incorrupte。 in esse inani nec。
所以我写了这样的代码:
f = open('lorem ipsum.txt', 'r')
o = open('output.txt', 'w')
for line in f:
if line.endswith("\.\n") == True:
o.write(line)
else:
line = line[:-1] + " "
o.write(line)
在没有必要的地方摆脱换行的第二部分,但代码似乎并没有很好地识别点换行符。代码最终将所有文本写成一行,如下所示:
Lorem ipsum dolor坐下来,他的semper vivendoapeirian,graece electram sea an,vix assum euismodluptatum ei。 Duo a diceret delicata referrentur。 Cumex mazim legendos corrumpit,eu fuisset omnesque qui,sit cu populo possit placerat。 Lorem dolore ut,inhis ancillae incorrupte。 in esse inani nec。
我做错了什么?
答案 0 :(得分:1)
尝试在有句号和新行时分割内容。替换其他换行符并使用换行符再次加入它们。
f = open('lorem ipsum.txt', 'r')
o = open('output.txt', 'w')
contents = f.read()
new = contents.split('.\n')
o.write('\n'.join([content.replace('\n', '') for content in new]))