-5

データが「C」データ構造で埋められているバイナリ ファイルがあります。Pythonを使用してこれにアクセスしたい。structPythonに関する投稿をいくつか見ました。ただし、これを自分の要件で使用する方法について明確なアイデアを得ることができませんでした。どんな助けでも大歓迎です。


This is what i Wanted

import struct


def write():
    values = (3 , 'name' , 6.6)
    s = struct.Struct('i4sf')   
    packed_data = s.pack(*values)

    fname = '123.sample'
    f = open(fname , 'wb')
    f.write(packed_data)
    f.close()


def read():
    fname = '123.sample'
    f = open(fname , 'rb')
    data = f.read()

    data_val = struct.unpack('i4sf' , data)

    print data_val
4

1 に答える 1

3

これは非常に一般的な質問です。構造体モジュールは、バイナリデータをパックおよびアンパックする方法を提供します。形式が正しくわかっている場合は、構造体形式を使用して表現し、アンパックできます。たとえば、 unsigned short と char をパックおよびアンパックするには、次を使用します。

>>> import struct
>>> data = struct.pack('Hc',255, 'a')
>>> struct.unpack('Hc', data)
(255, 'a')

struct module docsに目を通し、データを解凍してみてください。行き詰まっている場合は、具体的な質問をすることができます。

于 2013-09-19T18:22:43.467 に答える