1

次のコードで、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 は構文エラーを返します。

それがどのような変換であるかはわかりません。どんな種類の助けも素晴らしいでしょう。

4

1 に答える 1

1

これは無効な python コードであり、構造体モジュールとは関係ありません。Python では、ゼロで始まる数値は 8 進数 (基数 8) です。したがって、python は 008200 を 8 進数でデコードしようとしますが、'8' は有効ではありません。10 進数が必要な場合は 8200 を使用します。16 進数が必要な場合は 0x8200 を使用します。

于 2013-07-17T13:42:46.197 に答える