Python 匹配文件中的行

Python Match Line in File

我有以下文件,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 记事本上),这可能是问题的一部分吗?

您真的需要 "strictly" 将 ending \n 替换为空字符串吗?我建议您替换代码中的行:

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

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