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')
我有以下文件,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')