微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Windows上python中二进制和文本I / O之间的区别

如何解决Windows上python中二进制和文本I / O之间的区别

此模式是关于行尾的转换。

在文本模式下阅读时,平台的本机行尾(\r\n在Windows上)将转换为Python的Unix风格的\n行尾。在文本模式下书写时,情况相反。

在二进制模式下,不会进行此类转换。

其他平台通常无需转换即可正常运行,因为它们将行末尾本机存储为\n。(Mac OS是一个例外,过去曾经使用\r过。)但是,依赖于此的代码不可移植。

解决方法

我知道我应该使用"rb"而不是打开二进制文件,"r"因为Windows对二进制文件和非二进制文件的行为有所不同。

但是我不明白如果我以错误的方式打开文件会发生什么,为什么还要区分这个原因。通过将两种文件都视为相同,其他操作系统似乎可以正常工作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。