文件中的Python匹配行

时间:2017-07-03 00:43:00

标签: linux windows text text-files python-2.x

我有以下文件,input.txt

= TITLE =
{{{
Leave Alone
}}}

{{{
Change Me First
}}}

{{{
Change Me second
}}}

和Python代码

obj = file("input.txt")
for i in obj:
    i = i.replace("\n", "")
    if i == "{{{":
        print i
    else:
        pass

问题是如果我将文本复制并粘贴到Windows记事本中,将文件上传到Linux服务器并运行脚本,则没有任何反应。如果我将文本复制并粘贴到服务器上的Vi并保存input.txt,它将按预期工作。

我知道Windows和* nix文本编辑器以不同方式处理换行符(Windows文件在Linux和Linux文件上显示额外的新行在Windows记事本上显示为一行),这可能是问题的一部分吗?

1 个答案:

答案 0 :(得分:0)

你真的需要"严格"用空字符串替换结尾 \n?我建议您替换代码中的行:

i = i.replace("\n", "")

i = i.rstrip() # or i.rstrip('\r\n')