如何解决Windows上python中二进制和文本I / O之间的区别
此模式是关于行尾的转换。
在文本模式下阅读时,平台的本机行尾(\r\n
在Windows上)将转换为Python的Unix风格的\n
行尾。在文本模式下书写时,情况相反。
在二进制模式下,不会进行此类转换。
其他平台通常无需转换即可正常运行,因为它们将行末尾本机存储为\n
。(Mac OS是一个例外,过去曾经使用\r
过。)但是,依赖于此的代码不可移植。
解决方法
我知道我应该使用"rb"
而不是打开二进制文件,"r"
因为Windows对二进制文件和非二进制文件的行为有所不同。
但是我不明白如果我以错误的方式打开文件会发生什么,为什么还要区分这个原因。通过将两种文件都视为相同,其他操作系统似乎可以正常工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。