Python结构元素作为数组

时间:2016-01-08 02:19:02

标签: python c arrays

我想创建一个类似于下面C结构的Python结构。请注意,成员是数组。原因是因为我将调用一个C函数,它需要结构中的字符数组。

struct
{ 
    unsigned char vendorListNumber[5];
    unsigned char vendorNumber[5];
}  vendrRecord;

查看此页面(https://docs.python.org/2/library/ctypes.html#ctypes.c_char),我看不到数组或字符串的类型。

__init__.py我看到了这个:

class c_char(_SimpleCData):
    _type_ = "c"
c_char.__ctype_le__ = c_char.__ctype_be__ = c_char
_check_size(c_char)

我还没有理解这种语法......有没有办法让我自己上课,这会给我一系列字符?

3 个答案:

答案 0 :(得分:1)

from ctypes import c_ubyte, Structure

class VendorRecord(Structure):
    _fields_ = [("vendorListNumber", c_ubyte * 5),
                ("vendorNumber", c_ubyte * 5)]

希望它有所帮助!

答案 1 :(得分:0)

这应该是评论,但我没有代表点:

你能用字典吗?这是语法:

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

这取自http://www.tutorialspoint.com/python/python_dictionary.htm

感谢。

答案 2 :(得分:-1)

我建议你查看NumPy。