2024-09-28 01:27:30 发布
网友
我正在尝试用Python读取JPG图像。
到目前为止我有:
f = open("test.jpg") ima = f.read(16) print "'%s'"% (ima)
它读取16个字节并在控制台中显示字符串,但看起来我不能显示超过32个字节。为什么?
当它试图读取32个或更多字节时,输出将与读取16个字节时相同。为什么我不能读取超过16字节的jpeg图像?
您可能需要将打开模式设置为二进制:
f = open("test.jpg", "rb") # 'rb' here means "read mode, binary"
有关更详细的说明,请参见this similar question。
这里有两个问题:
将读取模式设置为二进制。这样file.read函数就不会试图转换'\r\n'序列。
file.read
您正在尝试将以空结尾的字符串打印到控制台。print函数找到字符串中的第一个零字符并终止。使用binascii.hexlify将其转换为十六进制:
print
binascii.hexlify
f = open("test.jpg", "rb") ima = f.read(16) print "%s" % (binascii.hexlify(ima))
您可能需要将打开模式设置为二进制:
有关更详细的说明,请参见this similar question。
这里有两个问题:
将读取模式设置为二进制。这样
file.read
函数就不会试图转换'\r\n'序列。您正在尝试将以空结尾的字符串打印到控制台。
print
函数找到字符串中的第一个零字符并终止。使用binascii.hexlify
将其转换为十六进制:相关问题 更多 >
编程相关推荐