我正在使用OpenCV Python库来提取描述符并将它们写入文件。每个描述符都是 32 字节,我只保存 80 。这意味着,最终文件必须精确 2560 个字节。但它 2571 字节。
我还有另一个文件是使用相同的Python脚本编写的(不是在Windows上但我猜它是在Linux上)而且它的确是 2560 字节。
使用WinMerge,我试图比较它们,它给了我一个警告,两个文件中的回车不同,并问我是否要平等对待它们。如果我说“是”,那么两个文件都是相同的,但如果我说“不”,那么它们就不同了。
我想知道在Python中是否还有写二进制文件在Windows和Linux上产生相同的结果?
更不用说这是脚本的相关部分:
f = open("something", "w+")
f.write(descriptors)
f.close()
答案 0 :(得分:1)
是的,有办法以二进制模式打开文件 - 只需将b
字符放入open
。
f = open("something", "wb+")
如果您不在Windows中执行此操作,则每个换行符'\n'
都将转换为Windows '\r\n'
使用的双字符行结束序列。