我正在使用 OpenCV Python 库提取描述符并将它们写入文件。每个描述符都是32字节,我只保存了其中的80。这意味着,最终文件必须正好是 2560 字节。但它是 2571 字节。
我还有另一个文件,它是使用相同的 Python 脚本编写的(不是在 Windows 上,但我猜它是在 Linux 上),它恰好是 2560 字节。
我尝试使用 WinMerge 比较它们,它警告我两个文件中的回车符不同,并询问我是否要对它们一视同仁。如果我说"is",那么两个文件是相同的,但如果我说“否”,那么它们是不同的。
我想知道在 Python 中是否有任何方式可以编写在 Windows 和 Linux 上产生相同结果的二进制文件?
更不用说这是脚本的相关部分:
f = open("something", "w+")
f.write(descriptors)
f.close()
最佳答案
是的,有一种以二进制模式打开文件的方法 - 只需将 b
字符放入 open
即可。
f = open("something", "wb+")
如果您在 Windows 中不这样做,每个换行符 '\n'
将被转换为 Windows 使用的双字符行结束序列,'\r\n'
.
关于python - 在 Python 中写入文件并在 Windows 中回车,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24419440/