ctypes通过读取fi初始化c\u int数组

2024-06-07 08:07:47 发布

您现在位置:Python中文网/ 问答频道 /正文

使用Python数组,我可以初始化32487834整数数组(在文件中找到人力资源数据)使用以下命令(当然不是完全的python命令):

F = open('HR.DAT','rb')
HR = array('I',F.read())
F.close()

我需要在ctypes中做同样的事情。到目前为止,我最好的是:

^{pr2}$

我不确定如何使用人力资源数据. 有什么想法吗?在

谢谢

迈克


Tags: 文件数据命令closereadhr整数数组
2条回答

文件对象有一个“readinto(..)”方法,可用于填充支持缓冲区接口的对象。在

所以,像这样的方法应该有效:

f = open('hr.dat', 'rb')
array = (c_int * 32487834)()
f.readinto(array)

尝试类似的方法将数组转换为ctypes数组

>>> from array import array
>>> a = array("I")
>>> a.extend([1,2,3])
>>> from ctypes import c_int
>>> ca = (c_int*len(a))(*a)
>>> print ca[0], ca[1], ca[2]
1 2 3

相关问题 更多 >

    热门问题