如何在python中打印带换行符的文本文件内容?

如何在python中打印带换行符的文本文件内容?,python,Python,我的文本文件的内容是: 5 7 6 6 15 4 3 当我这样做的时候 fs.open('path',mode='rb').read() 我明白了 但因为我希望它与字符串输出进行比较 5 7 6 6 15 4 3 我想做这样的比较: if fs.open('path',mode='rb').read() == output print("yes") 我应该如何转换它,使其以换行符的方式保留所有内容 PS:输出就是我通过json获得的字符串。将读取模式从rb更改为r:rb返回二进制

我的文本文件的内容是:

5 7 6 6 15
4 3
当我这样做的时候

fs.open('path',mode='rb').read()
我明白了

但因为我希望它与字符串
输出进行比较

5 7 6 6 15
4 3
我想做这样的比较:

if fs.open('path',mode='rb').read() == output
    print("yes")
我应该如何转换它,使其以换行符的方式保留所有内容


PS:输出就是我通过json获得的字符串。

将读取模式从
rb
更改为
r
rb
返回二进制,
r
输出文本。

使用Python 3,
fs.open('path',mode='rb')。read()
生成一个
bytes
对象,并且包含回车符(windows文本文件)

(使用Python2也没有帮助,因为这个额外的
\r
由于二进制模式而没有被删除)

您正在比较
bytes
对象和
str
对象:这总是错误的

此外,还不清楚
输出
字符串的最后一行是否有行终止符。我将以文本模式打开文件,并在结尾处删除空格/换行符(文件似乎不包含行终止符,但比“对不起”更安全):


当你想要一个字符串时,为什么要以二进制模式读取文件?也许放弃二进制模式,你会得到两个相同的对象。我认为这是因为你用二进制模式“rb”读取。如果你用“r”怎么办?不清楚最后一行是否包含换行符。这可能会导致比较失败。最后一行包含换行符,好的,伙计们,我试试r模式,让你们看看我知道,非常感谢你。
if fs.open('path',mode='rb').read() == output
    print("yes")
with open('path') as f:
   if f.read().rstrip() == output.rstrip():