草庐IT

Python3 : ImportError: No module named '_ctypes' when using Value from module multiprocessing

我正在使用Ubuntu并安装了Python2.7.5和3.4.0。在Python2.7.5中,我能够成功地分配一个变量x=Value('i',2),但在3.4.0中却不行。我得到:Traceback(mostrecentcalllast):File"",line1,inFile"/usr/local/lib/python3.4/multiprocessing/context.py",line132,inValuefrom.sharedctypesimportValueFile"/usr/local/lib/python3.4/multiprocessing/sharedctypes.p

Python3 : ImportError: No module named '_ctypes' when using Value from module multiprocessing

我正在使用Ubuntu并安装了Python2.7.5和3.4.0。在Python2.7.5中,我能够成功地分配一个变量x=Value('i',2),但在3.4.0中却不行。我得到:Traceback(mostrecentcalllast):File"",line1,inFile"/usr/local/lib/python3.4/multiprocessing/context.py",line132,inValuefrom.sharedctypesimportValueFile"/usr/local/lib/python3.4/multiprocessing/sharedctypes.p

php - is_numeric、intval、ctype_digit .. 你可以依赖它们吗?

is_numeric、intval、ctype__digit..你可以信赖它们吗?还是我必须使用正则表达式?functionisNum($str){return(preg_match("/^[0-9]+$/",$str));}大家怎么看?我傻吗? 最佳答案 ctype_digit和is_numerict之间的一个重要区别是负值和float。is_numeric(-10)将返回true而'ctype_digit(-10)'将为falsectype_digit(12.50)也将返回false而is_numeric(12.50)将为tru

Python:垃圾收集器行为与 ctypes

假设我的C/C++代码分配了一些内存,并返回指向它的指针。#include#ifdef__cplusplusextern"C"{#endifvoidAllocate(void**p){intN=2048;*p=malloc(N);}#ifdef__cplusplus}#endif显然,我希望释放那block内存是我的责任。现在假设我将它编译成一个共享库并使用ctypes从Python中调用它,但没有显式释放该内存。importctypesfromctypesimportcdll,Structure,byrefexternal_lib=cdll.LoadLibrary('libtest.

python - 从 ctypes 数组中获取数据到 numpy

我正在使用Python(通过ctypes)包装的C库来运行一系列计算。在运行的不同阶段,我想将数据输入Python,特别是numpy数组。我使用的包装对数组数据有两种不同类型的返回(我特别感兴趣):ctypes数组:当我做type(x)(其中x是ctypes数组,我得到作为返回。我知道该数据是文档中内部数据的副本,我可以轻松地将其放入numpy数组中:>>>np.ctypeslib.as_array(x)这将返回一维numpy数据数组。ctype指向数据的指针:在这种情况下,从库的文档中,我了解到我正在获取指向存储并直接用于库的数据的指针。乳清我做type(y)(其中y是指针)我得到.

windows - 在 python 2.7 ctypes 中构建 UCS4 字符串缓冲区

尝试使用ctypes在纯python中重新创建_winapi.c(directlink)的getenvironment(..)C函数>,我想知道如何翻译以下C代码:buffer=PyMem_NEW(Py_UCS4,totalsize);if(!buffer){PyErr_NoMemory();gotoerror;}p=buffer;end=buffer+totalsize;for(i=0;i似乎函数ctypes.create_unicode_buffer(..)(doc,code)正在做一些非常接近的事情,如果我可以访问Py_UCS4C类型或确保它与python可通过ctypes访问的

c++ - Python ctypes 回调函数到 SWIG

我有一个需要函数指针(WNDPROC)的SWIGC++函数,并想给它一个已被ctypes.WINFUNCTYPE包装的Python函数。在我看来,这应该是兼容的,但是SWIG的类型检查会抛出异常,因为它不知道ctypes.WINFUNCTYPE类型实际上是一个WNDPROC。我该怎么做才能将我的回调传递给SWIG以便它理解它? 最佳答案 我没有Windows机器来真正检查这个,但我认为你需要创建一个类型映射来告诉swig如何将PyObject包装器转换为WNDPROC://assumingthewrappedobjecthasana

c++ - std::ctype 是否总是按 "C"语言环境对字符进行分类?

cppreference表示std::ctype提供基于经典“C”语言环境的字符分类。当我们创建这样的语言环境时,这甚至是真的吗:std::localeloc(std::locale("en_US.UTF8"),newstd::ctype);loc的方面是否仍会根据“C”语言环境或Unicode语言环境对字符进行分类?如果按前者分类,为什么我们还要将语言环境名称指定为“en_US.UTF8”? 最佳答案 标准要求默认构造std::ctype通过§22.4.1.3.3[facet.ctype.char.statics]/1匹配最小的“

python - 如何使用 ctypes 将 python 列表传递给 C 函数 (dll)

背景我有一些Python分析软件,我必须传递一个4096字节的列表(看起来像这样[80,56,49,50,229,55,55,0,77,......])到dll,以便dll将其写入设备。要写入的字节存储在变量名data中必须从python调用的c函数(在dll中)是int_DLL_BUILD_IO_DataWrite(HANDLEhDevice,unsignedchar*p_pBuff,unsignedcharp_nByteCntInBuff);我无权访问dll代码尝试过的方法我试图声明一个数据类型data_tx=(ctypes.c_uint8*len(data))(*data)并调用

php - 设置语言环境(LC_CTYPE, "de_DE.UTF8")或设置语言环境(LC_CTYPE, "de_DE.UTF-8")?

setlocale(LC_CTYPE,"de_DE.UTF8")或setlocale(LC_CTYPE,"de_DE.UTF-8")带破折号还是不带破折号?我在答案中都看到了。 最佳答案 我会运行locale-a并使用它输出的字符串。在OSX10.9上,我得到de_DE.UTF-8。在Debian6上,我得到de_DE.utf8。dpkg-reconfigurelocales另一方面使用de_DE.UTF-8。最安全的方法可能是检查setlocale的返回值,如果失败则尝试不同的变体。也就是说,所有版本通常都应该可以工作:带或不带破