我有以下文件,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 记事本上都显示为一行),这可能是问题的一部分吗?
最佳答案
您真的需要“严格”将 ending \n
替换为空字符串吗?我建议您替换代码中的行:
i = i.replace("\n", "")
与
i = i.rstrip() # or i.rstrip('\r\n')
关于linux - 文件中的 Python 匹配行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44876417/