首页 > 解决方案 > 打开图片文件 python2 open.read 和 python3 open.read 有什么不同

问题描述

我是一名英语很差的中国程序员。我有个问题。

我是新手。如何在 Python 3 环境中获取 Python 2 中的输出?我想知道他们打开的二进制文件之间的区别。我希望得到答复。谢谢你。

在此处输入图像描述 在此处输入图像描述

标签: pythonpython-3.xpython-2.7

解决方案


以下发生在这里:

Python 2 没有表示原始字节的类型。相反,这些字节由字符串表示,并且在打印时,它会尝试将字节输出为字符。但是,如果一个字符不是 ASCII,它会导致带有问号图标等的奇怪字符。

在 Python 3 中,引入了字节类型。在 Python 3 中以二进制形式打开文件将返回字节类型。打印 bytes 类型时,所有无法由 ASCII 正确表示的字节都将转义为介于\x00\xFF(十六进制)之间的内容。

所以区别在于 Python 3 具有存储和打印原始字节的能力,而 Python 2 没有。


推荐阅读