1
所以我正在看我写的代码可能多达4年前,我知道它在当时正确运行。但是现在我正在试图在不同的计算机上运行它,而不是在几年前我写它的时候,而现在我得到了一个错误。 (今天在Windows 10和Ubuntu上试用过)Python结构格式错误
我正在使用Python 2.7,因为我也是。我正在使用Struct库从文件中解压C类型,特别是我试图解压4个字节长的值。 这里是2.7结构库的文档。 https://docs.python.org/2/library/struct.html
如果向下滚动到“格式字符”部分,您可以看到一个C类型的表格。
这里是我的代码:
bps = int(unpack('L', fmap[o+10:o+14])[0])
这里是我的错误。
error: unpack requires a string argument of length 8
令我迷惑的部分是“长度8”部分。如果我将C类型更改为“I”,则代码执行正常。但是文档似乎很清楚,“L”也是4字节,并且它在过去有效。我想我可以使用“我”类型用于我的目的,但我很好奇,如果有人看到这一点。
啊,非常有趣。我只是在'L'前添加'<'来测试它,它非常有用,所以非常感谢。当我在几年前编写和测试时,它会在Windows XP系统上运行,所以这很有意义。 – reallcoder