Python正在读取文件,识别点字符时出错

Python正在读取文件,识别点字符时出错,python,Python,假设我有这样一个lorem ipsum文本: Lorem ipsum dolor sit amet,但他永远活着 阿佩里安、格雷斯·伊莱克特拉姆和维克斯·阿苏姆·尤伊斯莫 羽扇豆 这是一个很好的选择。Cum ex mazim legendos corrumpit,eu fuisset omnesque qui, 坐在可能的地方。Lorem dolore ut有, 在他的助手中,他是清廉的。在埃塞伊南内克 我想把它分成两段,两行,像这样: f = open('lorem ipsum.txt', '

假设我有这样一个lorem ipsum文本:

Lorem ipsum dolor sit amet,但他永远活着
阿佩里安、格雷斯·伊莱克特拉姆和维克斯·阿苏姆·尤伊斯莫
羽扇豆

这是一个很好的选择。Cum ex mazim
legendos corrumpit,eu fuisset omnesque qui,
坐在可能的地方。Lorem dolore ut有,
在他的助手中,他是清廉的。在埃塞伊南内克

我想把它分成两段,两行,像这样:

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 sit amet,但他是一个生活在海洋中的人,他是一个充满活力的人

这是一个很好的选择。这是一个非常好的例子,因为它是一个很好的例子。洛雷姆·多洛雷·乌特在他的助手中是清廉的。在埃塞伊南内克

所以我写的代码是这样的:

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)
摆脱换行符的第二部分不需要,但代码似乎不能很好地识别点换行符。代码最后将所有文本写入一行,如下所示:

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 sit amet,但他是一个生活的领导者,他是一个生活的领导者。这是一个很好的选择。Cumex mazim legendos corrumpit,eu fuisset omnesque qui,sit cu Populio possit Placelat。洛雷姆·多洛雷·乌特天生清廉。在埃塞伊南内克


我做错了什么?

只要有句点和新行,就尝试拆分内容。替换其他换行符,并用换行符再次连接它们

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

您需要使用
line.endswith(“\.\n”)
,而不是
line.endswith(“.\n”)
str.endswith
的参数与
re
(正则表达式)的参数不同<代码>没有任何特殊意义,所以不必用“\`@SakshamVarma”转义,我发誓,上次我试过,它不起作用。现在它突然出现了。无论如何,非常感谢你。还有,这是什么原因?@FJSK你把字符串匹配和模式匹配搞混了。@Kay-Ah。。我知道。。。菜鸟错了,哈哈。非常感谢。