读取文件,在Windows或Linux上的结果不一样

时间:2016-04-15 17:10:43

标签: python linux windows

我有相同的代码,我在覆盆子 win7 上运行,我的结果不一样

代码:

        {{ formset }} # Tried both ways (commented too)
{#            {% for x in formset %}#}
{#                {{ x | crispy }}#}
{#            {% endfor %}#}

linux 上我取得了不错的成绩。

with open('file','rb') as fd:
    ttt = fd.read(4)
    print (ttt)
    seed = unpack('>I', fd.read(4))[0]
    print str(seed)    

但是在 windows 上,我有

b')M7\xeb'
692926443

为什么会出现这种差异?为什么在 linux 我有4个以上的char?

编辑: 我最终找到了一种方法来获得相同的结果。

>M7ù
1401564715

不确定所有代码是否有用,但它确实有用。

1 个答案:

答案 0 :(得分:1)

Linux输出是二进制字符串表示,这就是为什么它显示为b'[STRING]'。重音字符显示为转义的ASCII替代字符。 Windows输出是实际的字符串表示形式。要使它们相同,请使用decode:

print b'a string'.decode('ascii')