python - 在 Python 中写入文件并在 Windows 中回车

标签 python linux windows opencv carriage-return

我正在使用 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/

相关文章:

python - 如何在 python 或 bash 脚本中向文件名中包含的数字添加常量?

python - pandas argsort 的有趣结果

linux - 如何订购具有特定条件的文本文件?

c - Linux C 编码中的 Fork() 命令

windows - 在 Windows 7/8/10 中通过 CMD/Batch 拒绝所有用户/管理员的所有文件夹权限

c++ - 如何编写在输入到达内核之前拦截输入的程序?

windows - Windows XP 真的有负错误代码吗?

python - 从 BGR 到灰度的 OpenCV 颜色转换错误

python - 使用 Python 更新媒体维基文章?

linux - centos 7.5 (vesta) 上出现内部错误 500。暂停?