C-типы внешнего интерфейса функций (numpy.ctypeslib)
-
numpy.ctypeslib.as_array(obj, shape=None)[source] -
Создать массив NumPy из массива или указателя ctypes.
Массив NumPy совмещает память с объектом ctypes.
Параметр
shapeдолжен быть задан при преобразовании из указателя ctypes. Параметрshapeигнорируется при преобразовании из массива ctypes.
-
numpy.ctypeslib.as_ctypes(obj)[source] -
Создать и вернуть объект ctypes из массива NumPy. Фактически принимается всё, что предоставляет __array_interface__.
-
numpy.ctypeslib.ctypes_load_library(*args, **kwds)[source] -
ctypes_load_libraryустарел, используйтеload_libraryвместо него!Библиотеку можно загрузить, используя >>> lib = ctypes.cdll[<полный_путь_к_файлу>]
Но существуют платформенные соображения, такие как расширения файлов библиотек, а также тот факт, что Windows загрузит первую найденную библиотеку с этим именем. NumPy предоставляет функцию load_library для удобства.
Параметры: -
libname : str -
Имя библиотеки, которое может иметь префикс 'lib', но без расширения.
-
loader_path : str -
Путь к библиотеке.
Возвращает: -
ctypes.cdll[libpath] : library object -
Объект библиотеки ctypes
Возможные исключения: - OSError
-
Если библиотека с ожидаемым расширением не найдена или библиотека некорректна и не может быть загружена.
-
-
numpy.ctypeslib.load_library(libname, loader_path)[source] -
Библиотеку можно загрузить, используя >>> lib = ctypes.cdll[<полный_путь_к_файлу>]
Но существуют платформенные соображения, такие как расширения файлов библиотек, а также тот факт, что Windows загрузит первую найденную библиотеку с этим именем. NumPy предоставляет функцию load_library для удобства.
Параметры: -
libname : str -
Имя библиотеки, которое может иметь префикс 'lib', но без расширения.
-
loader_path : str -
Путь к библиотеке.
Возвращает: -
ctypes.cdll[libpath] : library object -
Объект библиотеки ctypes
Возможные исключения: - OSError
-
Если библиотека с ожидаемым расширением не найдена или библиотека некорректна и не может быть загружена.
-
-
numpy.ctypeslib.ndpointer(dtype=None, ndim=None, shape=None, flags=None)[source] -
Проверка массивов NumPy в restype/argtypes.
Экземпляр
ndpointerиспользуется для описания массива ndarray в спецификациях restypes и argtypes. Этот подход более гибкий, чем использование, например,POINTER(c_double), так как можно указать несколько ограничений, которые проверяются при вызове функции ctypes. Это включает тип данных, количество измерений, форму и флаги. Если заданный массив не удовлетворяет указанным ограничениям, генерируетсяTypeError.Параметры: -
dtype : data-type, optional -
Тип данных массива.
-
ndim : int, optional -
Количество измерений массива.
-
shape : tuple of ints, optional -
Форма массива.
-
flags : str or tuple of str -
Флаги массива; могут быть одним или несколькими из:
- C_CONTIGUOUS / C / CONTIGUOUS
- F_CONTIGUOUS / F / FORTRAN
- OWNDATA / O
- WRITEABLE / W
- ALIGNED / A
- WRITEBACKIFCOPY / X
- UPDATEIFCOPY / U
Возвращает: -
klass : ndpointer type object -
Объект типа, который является экземпляром
_ndtpr, содержащим информацию о dtype, ndim, shape и flags.
Возможные исключения: - 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)) ...
-
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.15.4/reference/routines.ctypeslib.html