numpy.ctypeslib
)原文:https://docs.scipy.org/doc/numpy/reference/routines.ctypeslib.html
校对:(虚位以待)
numpy.ctypeslib.
as_array
(obj, shape=None)[source]从ctypes数组或ctypes POINTER创建numpy数组。numpy数组与ctypes对象共享内存。
如果从ctypes POINTER转换,则必须提供size参数。如果从ctypes数组转换,size参数将被忽略
numpy.ctypeslib.
as_ctypes
(obj)[source]从numpy数组创建并返回ctypes对象。实际上接受暴露__array_interface__的任何东西。
numpy.ctypeslib.
ctypes_load_library
(*args, **kwds)[source]ctypes_load_library
已弃用,请改用load_library
!
可以使用>>> lib = ctypes.cdll [
但有跨平台的考虑,如库文件扩展,加上事实上,Windows将加载它找到的第一个库名称。Numpy提供了load_library函数作为方便。
参数: | libname:str
loader_path:str
|
---|---|
返回: | ctypes.cdll [libpath]:库对象
|
上升: | OSError
|
numpy.ctypeslib.
load_library
(libname, loader_path)[source]可以使用>>> lib = ctypes.cdll [
但有跨平台的考虑,如库文件扩展,加上事实上,Windows将加载它找到的第一个库名称。Numpy提供了load_library函数作为方便。
参数: | libname:str
loader_path:str
|
---|---|
返回: | ctypes.cdll [libpath]:库对象
|
上升: | OSError
|
numpy.ctypeslib.
ndpointer
(dtype=None, ndim=None, shape=None, flags=None)[source]数组检查restype / argtypes。
ndpointer实例用于在resttype和argtypes规范中描述一个ndarray。此方法比使用例如POINTER(c_double)
更灵活,因为可以指定多个限制,这些限制在调用ctypes函数时验证。这些包括数据类型,维数,形状和标志。如果给定的数组不满足指定的限制,则会引发TypeError
。
参数: | dtype:数据类型,可选
ndim:int,可选
shape:ints的tuple,可选
标志:str或str的元组
|
---|---|
返回: | klass:ndpointer类型对象
|
上升: | TypeError
|
例子
>>> clib.somefunc.argtypes = [np.ctypeslib.ndpointer(dtype=np.float64,
... ndim=1,
... flags='C_CONTIGUOUS')]
...
>>> clib.somefunc(np.array([1, 2, 3], dtype=np.float64))
...