python怎么构造一个结构体

python怎么构造一个结构体

在c语言中需要构造一个struct,然后发出去

[Copy to clipboard] [ - ]
CODE:
struct aaa{
     char   a;
     int      b;
     char* c;
}

在python中的做法是不是生产一个list
第一项 第二项 第三项都填好再发
有没有什么标准的做法模拟这个呢?

刚刚学python,有些通用的写法不太熟悉,请教一下
用类就可以了。
恩地址对其怎么做呢
在c里面可以
(char *)aaa, 然后通过aaa[]访问到每个字节
python里面怎么做到呢,感觉现在用python还是用c的思维在写程序是不是不太对?
不好意思,我理解错了。以为你想在 python 中用结构。

python 有个模块,名字忘记了,可以写入读取 c 的结构。等知道的人告诉你吧。

另外,把指针发送出去可能是没有意义的。
恩,我是想在接收端收到这个结构体后,用数组去解析这个
对方发送过来的是 C 的裸结构吗? 没有经过 XDR 之类的编码?

python 读取 c 的结构可以用 struct 模块的 unpack

下面的连接供你参考:

http://www.python.org/doc/2.5.2/lib/module-struct.html
只是存取的话可以用ctypes
from ctypes import *
class aaa(Structure):
        _fields_ = [("a", c_char),
                ("b", c_int),
                ("c", c_char_p)]
如果在网上发送可以用struct模块pack成字节流发送。
谢谢各位!!!
d= shelve.open("c:\\test.data")
a=[1,2,3]
b="string"
d["list"]=a   #将对象保存到d里面,类似字典的赋值
d["str"]=b
print d.keys()#打印d存储的对象列表,比较慢

#两个if的作用是一样的,都是判断是否有"str"这个key存在
if "str" in d:
    print "yes"
if d.has_key("str"):
    print "yes"
   
c=d["list"]
e=d["str"]
d.close()
print c,e


'''
shelve模块比pickle更有用,它提供了一个字典式的文件对象访问功能
'''
自己学习时写的一个demo。还有个cpickle块也完成类似的功能
刚刚开始学习,路过学习经验