用python编写大量的短整数列表

布拉姆

我有一个很大的值列表,我想将这些值写成一个短整数。

我想在Python3中有效地做到这一点。

使用struct模块可以一次获得一个值

struct.pack( "h", val )

可以在格式条目前面加上一个计数,如下所示:

struct.pack( "4h", val0,val1,val2,val3 )

但是,当我尝试动态构建格式并一次性编写格式时,我无法提供列表。

例如:

values = [ x for x in range(100) ]
fmt = "%dh" % ( len(values), )
p = struct.pack( fmt, values )

将给出错误:struct.error:预期包装100个要包装的物品(获得1个)

如何有效地将大量短整数转储到文件中?

基本上,Python等效于C代码:

short values[100];
fwrite( values, sizeof(values), 1, f);

还是如果我使用Python,是否必须一次写一次这些值?

威姆

只需更改一个字符:

p = struct.pack(fmt, *values)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章