测试Python的 bitstruct 库

# -*- coding:utf-8 -*-
import sys
import time
a = time.time()

from bitstruct import *

#4+2+2+2 = 10
import time
from collections import namedtuple
tmp_bytes = b"\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10"
#fmt_str = "u32u6u4u3u3u16u7u3u6"
#result = unpack(fmt_str, tmp_bytes)
t = [
    ("u32","n1"), #格式, 变量名称 
    ("u6","n2"),
    ("u4","n3"),
   ( "u3","n4"),
    ("u3","n5"),
    ("u16","n6"),
    ("u7","n7"),
    ("u3","n8"),
    ("u6","n9"),
]

myTT= namedtuple("MyTT",  [ item[1] for item in t])
fmt_str = "".join(   [ str(item[0]) for item in t ]  )
begin = time.time()
for i in range(10000):
    result = myTT( *unpack(fmt_str, tmp_bytes) )
last = time.time()-begin    
print (last) 
print (result)


你可能感兴趣的:(测试Python的 bitstruct 库)