我试图在python3中读取一个16位二进制文件,并得到以下错误
out = struct.unpack("h",字节) 错误:解包需要一个2字节的缓冲区
import struct
for line in file_read:
bytes = file_read.read(2)
out = struct.unpack("h", bytes)
file_write.write(str(out))任何关于我可能出错的建议都会很感激。
发布于 2019-05-07 18:11:37
很可能file_read是空的,或者在读取line之后变得空(正如@MisterMiyagi所指出的,逐行读取二进制文件似乎不是一个好主意)。所以file_read.read什么也不读,或者只读一个字节。您可以通过打印len(bytes)来验证它。
https://stackoverflow.com/questions/56027714
复制相似问题