如何在python struct模块中完成转换?

时间:2013-07-17 13:25:49

标签: python c struct

我需要从C结构中解压缩python中的信息, 通过以下代码完成:

struct.unpack_from('>I', file.read(4))[0]

然后,写回更改的值:

new_value = struct.pack('>I', 008200)
file.write(new_value)

一些例子: 008200返回syntaxerror:无效令牌。 000010写入:8 000017写入:15 000017返回语法错误。

我不知道那是什么样的转换。 任何形式的帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

这是无效的python代码,与struct模块无关。在python中,以零开头的数字是八进制(基数为8)。因此,python尝试以八进制解码008200,但“8”无效。假设您想要小数,请使用8200.如果您想要十六进制,请使用0x8200。