我有一个形式的字典:
a = {(7, 190, 0): {0: 0, 1: 10, 2: 10, 3: 37, 4: 45, 5: 49, 6: 69, 7: 45, 8: 130, 9: 59}}
并尝试将其以二进制格式写入文件。目前正在使用python 2.3
我尝试在一个简单的列表上使用 struct 模块,它看起来可以工作,但是当我继续使用 dict 时,它会抛出一个错误,指出所需的参数不是整数。什么是解决这个问题的好方法?我试过这样的:
packed_d=[]
for ssd,(add_val) in a.iteritems():
pack_d=struct.pack('BHB',ssd)
packed_data.append(pack_d)
这是它抛出错误的地方..
有什么建议么?
编辑:酷,这就是我所缺少的,珍妮。我尝试了以下,它看起来像它的工作,并且能够打开包装以及检查它是否一切正常。你认为这是一个好方法吗?谢谢!
data = {(7, 190, 0): {0: 0, 1: 101, 2: 7, 3: 0, 4: 0}}
packed_data=[]
for ssd,add_val in data.iteritems():
pack_d=struct.pack('BHB', *ssd)
packed_data.append(pack_d)
for add,val in data[ssd].iteritems():
pack_t=struct.pack('BH', add,val)
packed_data.append(pack_t)
打包数据 = ['\x07\x00\xbe\x00\x00', '\x00\x00\x00\x00', '\x01\x00e\x00', '\x02\x00\x07\x00', '\x03 \x00\x00\x00', '\x04\x00\x00\x00']