说我有一个lorem ipsum文本,像这样:


  洛雷姆·伊普苏姆·多洛(Lorem ipsum dolor)
  阿佩里安,格雷斯·伊莱瑟姆·海安,vix assum euismod
  鹿角草
  
  二重奏delicet delicata Referrentur。暨前马西姆
  Legendos corrumpit,eu fuisset omnesque qui,
  坐cu人口possit placerat。 Lorem dolore ut有
  在他的附属腐败中。在esse inani nec中。


我想将其分为两段,两行,如下所示:


  洛雷姆·伊普苏姆·多洛尔(Lorem ipsum dolor)坐下,他的女儿森·维文多·阿佩里安(Avenir Pepe),格雷斯·伊莱瑟姆·海恩(Greecelectram Sea an)和维克斯·阿苏姆·尤西莫德·卢普塔图姆·艾斯提姆。
  
  二重奏delicet delicata Referrentur。 Cum ex mazim legendos corrumpit,eu fuisset omnesque qui,坐在cu populo possit placerat。 Lorem dolore ut在其附属机构中腐败。在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)坐下,他的女儿森·维文多阿皮安(Greecelectram Sea an)和维克斯·阿苏姆euismodluptatum ei。二重奏delicet delicata Referrentur。 Cumex mazim legendos corrumpit,eu fuisset omnesque qui,cu cu populo possit placerat。洛雷姆·多洛(Lorem dolore ut)拥有附属的腐败行为。在esse inani nec中。


我究竟做错了什么?

最佳答案

只要有句号和换行符,就尝试分割内容。替换其他换行符,然后使用换行符再次加入它们。

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]))

关于python - Python读取文件,错误识别点字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29191142/

10-11 08:40