在Python中编写文件并在Windows中回车

时间:2014-06-25 22:09:56

标签: python linux windows opencv carriage-return

我正在使用OpenCV Python库来提取描述符并将它们写入文件。每个描述符都是 32 字节,我只保存 80 。这意味着,最终文件必须精确 2560 个字节。但它 2571 字节。

我还有另一个文件是使用相同的Python脚本编写的(不是在Windows上但我猜它是在Linux上)而且它的确是 2560 字节。

使用WinMerge,我试图比较它们,它给了我一个警告,两个文件中的回车不同,并问我是否要平等对待它们。如果我说“是”,那么两个文件都是相同的,但如果我说“不”,那么它们就不同了。

我想知道在Python中是否还有写二进制文件在Windows和Linux上产生相同的结果?

更不用说这是脚本的相关部分:

f = open("something", "w+")
f.write(descriptors)
f.close() 

1 个答案:

答案 0 :(得分:1)

是的,有办法以二进制模式打开文件 - 只需将b字符放入open

f = open("something", "wb+")

如果您不在Windows中执行此操作,则每个换行符'\n'都将转换为Windows '\r\n'使用的双字符行结束序列。