【发布时间】:2014-03-17 10:32:26
【问题描述】:
我正在使用 Python 2.7.6 ctypes 结构:
class TestStruct(Structure):
_fields_=[
("ValueA",c_int),
("StringA",c_char*9)
]
我像这样从 udp 获取数据:
sock = socket.socket(socket.AF_INET,
socket.SOCK_DGRAM)
sock.bind((self.__ip,self.__port))
print("Starting Receiving......")
while True:
try:
(data,addr) = sock.recvfrom(1024)
t = cast( data, POINTER(TestStruct))
print t.ValueA
#print(data[0])
#print(type(data))
except Exception,ex:
print ex
break
如您所见,我使用的是“cast”,但它转换的类型类似于:“main.LP_TestStruct”。
我想要的是 TestStruct 对象,我应该使用什么函数? 谢谢!
【问题讨论】:
-
尝试
t1 = t.contents然后print t1.ValueA -
我对python不熟悉,我去理解你在说什么。你能给我一些参考吗?谢谢
标签: python byte tuples ctypes typeconverter