利用ctypes获取numpy数组的指针方法

yipeiwu_com6年前Python基础

如下所示:

import numpy as np
from ctypes import *

a = np.asarray(range(16), dtype=np.int32).reshape([4,4])
if not a.flags['C_CONTIGUOUS']:
  a = np.ascontiguous(a, dtype=a.dtype) # 如果不是C连续的内存,必须强制转换
a_ctypes_ptr = cast(a.ctypes.data, POINTER(c_int))  #转换为ctypes,这里转换后的可以直接利用ctypes转换为c语言中的int*,然后在c中使用
for i in range(16):
  print(a_ctypes_ptr[i])

以上这篇利用ctypes获取numpy数组的指针方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python读取word文档的方法

本文实例讲述了python读取word文档的方法。分享给大家供大家参考。具体如下: 首先下载安装win32com from win32com import client as wc...

Python将list中的string批量转化成int/float的方法

最近在处理词向量这块,因为平时习惯把处理的词向量保存成文件,但是txt文件读取出来的都是string格式的数字,有必要转成float型 上网查了一下教程,在这记录一下: data =...

python实现的登陆Discuz!论坛通用代码分享

代码如下: #coding:gbk import urllib2,urllib,cookielib,re ''' 通用的登陆DZ论坛 参数说明parms: userna...

Python实现竖排打印传单手机号码易撕条

使用python 2.7,初学,代码比较简单。 numPrinter.py 复制代码 代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*...

Windows下Anaconda的安装和简单使用方法

Windows下Anaconda的安装和简单使用方法

Anaconda is a completely free Python distribution (including for commercial use and redistrib...