|
|
|
|
| 贴代码:根据格式字符串进行struct.pack?对测试协议应该很有用? |
 贴代码:根据格式字符串进行struct.pack?对测试协议应该很有用? - flingfly [ 2006-02-17 11:18 | 1,620 byte(s)]
 Re: 贴代码:根据格式字符串进行struct.pack?对测试协议应该很有用? - passworld [ 2006-02-26 13:09 | 100 byte(s)]
 Re: 贴代码:根据格式字符串进行struct.pack?对测试协议应该很有用? - flingfly [ 2006-02-26 14:36 | 102 byte(s)]
 Re: 贴代码:根据格式字符串进行struct.pack?对测试协议应该很有用? - limodou [ 2006-03-02 09:26 | 24 byte(s)]
 Re: 贴代码:根据格式字符串进行struct.pack?对测试协议应该很有用? - lonelyflyer [ 2006-02-27 09:22 | 9 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
import struct
def assemObj(data, data_size, format, obj):
if len(format) > 0:
curFormat = "=%ds" % data_size
format = format.lower()
if format == 'w':
size = 2
obj = int(obj)
format = "h"
elif format == 'b':
obj = int(obj)
size = 1
format = 'B'
elif format == 'i':
obj = int(obj)
size = 4
format = 'l'
elif format == 's':
size = len(obj)
format = "%ds" % size
obj = str(obj)
curFormat = curFormat + format
if data:
d = struct.pack(curFormat, data, obj)
else:
d = struct.pack(curFormat, "=" + format,obj)
return d, data_size + size
else:
return data, data_size
def assemSet(format, s):
str_set = s.split()
if len(format) != len(str_set):
return
data = None
size = 0
for i in range(len(format)):
print i , format[i], str_set[i]
data , size = assemObj(data, size, format[i], str_set[i])
return data
|
|
|
----
(1)多回答问题。 (2)多提出问题。
|
|
[Original]
[Print]
[Top]
|
|
|