我目前正在尝试学习如何解析PPM文件。我在python解释器中执行了以下操作:
>>> x = open('file.ppm')
>>> x.readline()
'P6\n'
>>> x.readline()
'2 3\n'
>>> x.readline()
'255\n'
>>> x.readline()
'\n'
>>> x.readline()
'\x174R\x03\xd7\x1e\xb5e!-\xcd(D\\oL\x01'
我了解PPM文件的基本结构。不过,我最好奇的是最后一行。包含像素颜色信息的字节编码。上面的文件应该解析回
^{pr2}$通过使用struct.pack('B',x)
,我看到整数被压缩到上面的字节编码中。但是,我不确定如何使用struct.unpack
来反转这个过程。最重要的是,我不确定从哪里切断每个字节的编码,因为它们都出现在同一行上,而且每个字节的长度似乎也不相同(?)。在
我还试图通过执行struct.pack('I','\x174R\x03\xd7\x1e\xb5e!-\xcd(D\\oL\x01')
来打包整行代码。我不明白为什么它不能直接把字节编码转换成整数。在
如何使用struct.pack(...)
将字节编码解析回整数?另外,在打包/解包这些值时发生了什么?在
前三个字符串不是由},如果您想删除周围的空格)。在
struct.pack
压缩的。所以只需使用它们(strip
或{对于最后一个字节:
^{pr2}$或者使用^{} :(在python3.x中可以使用^{} );迭代}s
bytearray
生成{当你在处理二进制文件时,你的注释是二进制的。在
相关问题 更多 >
编程相关推荐