Python初学者。我有一个大的数据集,一开始是一个16位整数的字符串,“1,2,3,4,5”,最后需要转换成一个字节对齐的二进制文件。你知道吗
目前,我的工作包括:
#helper function
def unintlist2hex(list_input):
for current in range(len(list_input)):
list_input[current] = "%04X"%(int(list_input[current]))
return list_input
#where helper gets called in main code
for rows in dataset:
row_list = rows.text.split(",")
f_out.write(binascii.unhexlify("".join(unintlist2hex(row_list))))
但是对于我有限的数据测试大小(大约300000 int),这运行起来相当慢。我怎么能加快速度呢?我分析了代码,所有的大部分周期都花在unintlist2hex()
注意,我很难使用hex()
和bin()
,因为它们有截断前导零的倾向。你知道吗
struct
模块可能是最好的选择您可以使用
>
或<
来设置endianess例如:
相关问题 更多 >
编程相关推荐