当我将数据打包为固定长度然后在解包时我无法在不提及数据实际长度的情况下检索数据。
如何只检索没有 \x00 字符的数据而不事先计算长度。
>>> import struct
>>> with open("forums_file.dat", "w") as file:
file.truncate(1024)
>>> country = 'india'
>>> data = struct.pack('20s', country)
>>> print data
india
>>> data
'india\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>>> print len(data)
20
>>> unpack_data = struct.unpack('5s', country)
>>> unpack_data
('india',)
在上面的代码片段中,我在解包时提到了数据的长度(5s)。