ctypes通过读取文件初始化c_int数组

Mik*_*and 4 python arrays ctypes initialization

使用Python数组,我可以使用以下(当然不是完美的Pythonic)命令初始化32,487,834整数数组(在文件HR.DAT中找到):

F = open('HR.DAT','rb')
HR = array('I',F.read())
F.close()
Run Code Online (Sandbox Code Playgroud)

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

HR = c_int * 32487834
Run Code Online (Sandbox Code Playgroud)

我不知道如何使用HR.DAT初始化数组的每个元素.有什么想法吗?

谢谢,

麦克风

Tho*_*ler 9

文件对象具有'readinto(..)'方法,可用于填充支持缓冲区接口的对象.

所以,这样的事情应该有效:

f = open('hr.dat', 'rb')
array = (c_int * 32487834)()
f.readinto(array)
Run Code Online (Sandbox Code Playgroud)