![](/img/trans.png)
[英]Avoid writing carriage return '\r' when writing line feed with Python
[英]Writing files in Python and carriage return in Windows
我正在使用OpenCV Python库提取描述符并将其写入文件。 每个描述符都是32个字节,我只保存了80 个字节。 这意味着,最终文件必须恰好为2560字节。 但这是2571字节。
我还有另一个文件是使用相同的Python脚本编写的(不是在Windows上,但我猜是在Linux上),它的大小恰好是2560字节。
使用WinMerge,我试图将它们进行比较,这给了我一个警告,说两个文件中的回车符是不同的,并问我是否要一视同仁。 如果我说“是”,则这两个文件是相同的,但是如果我说“否”,则它们是不同的。
我想知道Python是否有写二进制文件在Windows和Linux上产生相同的结果?
更不用说这是脚本的相关部分:
f = open("something", "w+")
f.write(descriptors)
f.close()
是的,有一种方法可以以二进制模式打开文件-只需将b
字符放入open
。
f = open("something", "wb+")
如果在Windows中不这样做,则每个换行符'\\n'
都将转换为Windows使用的两个字符的行尾序列'\\r\\n'
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.