繁体   English   中英

将 C_ulong_Array_40 转换为 python 中的列表或字符串?

[英]Convert C_ulong_Array_40 to list or string in python?

我试图通过一些与硬件单元接口的 python 代码进行斗争。

该单元有一个 python 库,我在其中使用了一个名为“readsub”的 function。 但它以我得到的格式返回数据“C_ulong_Array_40”

代码很简单:

err, length, data = card.ReadSub(2)
write_tofile(1, data)

但后来我收到以下错误:+ 的不支持的操作数类型:'c_ulong_Array_40' and 'str'

我假设我需要使用 ctypes 做某事,但现在这有点“神奇”,因为我在 python 中还不是那么好。

我可以通过什么方式将“数据”转换为某种有用的格式? 它可以是一个 python 列表或一个包含所有数据的长字符串。

谢谢,兄弟。 马丁

从我刚刚学到的C_ulong_Array_40是一个长度为 40 的数据类型ulong的 ctype 数组。

仅供参考c_ulong是 c_uint 的别名, c_uint也是c_long的别名c_int ://docs.python.org/3/library/ctypes.ZFC35FDC70D5FC69D269883A822 )

获取您的整数列表;

list_of_ints = [x for x in data]

获取您的字符串列表;

list_of_str_ints = [str(x) for x in data]

不需要奇怪的转换!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM