python pack的理解
def pack_section_body(self):
self.table_id_extension = self.transport_stream_id
self.private_indicator = 1
# pack service_stream_loop
sl_bytes = string.join(
map(lambda x: x.pack(), ###这个x.pack实在是没看懂是什么意思,lambda的第二个应该是个表达式,x.pack应该可以找到实现的主体的函数?不明白,求解答
self.service_loop),
"")
fmt = "!HB%ds" % len(sl_bytes)
return pack(fmt,
self.original_network_id,
0xFF,
sl_bytes,
)
Python lambda
[解决办法]
这个map的意思是:对self.service_loop中的每一个元素,调用其pack方法.
看看self.service_loop中的元素的类型,它应该有一个pack方法。
[解决办法]
看格式和struct.pack()是一样的