ctypes相关内容

调整(收缩)ctype数组的大小

假设我有一个10元素数组: from ctypes import * arr = c_float * 10 ,我想把它缩小到5个元素。我试着这样做: resize(arr, sizeof(c_float) * 5) arr = (c_float * 5).from_address(addressof(arr)) 但是我得到了一个ValueError: minimum size ..
发布时间:2022-07-16 21:07:32 Python

_ctyes.cpython-39-x86_64-linux-gnU.S.so:未定义的符号:使用dlopen加载的Embedded Python中的PyFloat_Type

我使用的是ubuntu 20.04中的Embedded Python(3.9),尝试导入ctype时出现错误_ctypes.cpython-39-x86_64-linux-gnu.so: undefined symbol: PyFloat_Type。 我正在编译共享对象,它是使用dlopen()动态加载的。 CMake用于构建共享对象。我这样说明对Python3的依赖关系: find_ ..
发布时间:2022-07-16 20:58:02 Python

操作系统错误:找不到[WinError 126]模块

我正尝试在python中运行MXNet port of SSD,但当我运行demo时遇到一个奇怪的错误: OSError: [WinError 126] The specified module could not be found 特别是在尝试打开libmxnet.dll时,因此我在尝试调试它时发现。 整个错误消息如下: >>>> kernel32 >>>> C:User ..
发布时间:2022-04-15 16:29:08 Python

在PYTHON中将ctype Struct转换为bytearray

有没有办法转换包括指向字节数组的指针的Ctype结构? class SRamAccess(ctypes.Structure): _fields_ = [('channel', ctypes.c_uint), ('offset', ctypes.c_uint), ('len', ctypes.c_uint), ('data', ctypes.c_char_p)] 推荐答案 只 ..
发布时间:2022-04-15 16:27:57 Python

PYTHON:将字节数组转换为ctype Struct

我有一个‘n’字节数组。这与定义的ctype之一相同。结构。我想将这个字节数组类型转换为这个结构。这样我就可以访问这里的每一个成员。我如何才能做到这一点? class ABC(Structure): _fields_ = [("a", c_uint), ("b", c_ushort), ("c", c_ushort)] class DEF(Structure): _fiel ..
发布时间:2022-04-15 16:26:03 Python

Python:将ctype_ubyte数组转换为字符串

我有一个ctype结构,我想打印一个字节数组,我知道它是字符串。如何将此ctyes.c_byte数组转换为字符串? from ctypes import * class File(Structure): _fields_ = [("fileSize", c_uint), ("fileName", c_byte * 32)] print(f.fileSize) prin ..
发布时间:2022-04-15 16:22:25 Python

Python ctype,C++对象销毁

考虑以下python ctype-c++绑定: // C++ class A { public: void someFunc(); }; A* A_new() { return new A(); } void A_someFunc(A* obj) { obj->someFunc(); } void A_destruct(A* obj) { delete obj; } # pyth ..
发布时间:2022-04-15 16:16:18 C/C++开发

如何在Linux上调用Python中的内联机器码?

我正在尝试从Linux上的纯Python代码调用内联机器码。为此,我将代码嵌入到字节文字中 code = b"x55x89xe5x5dxc3" ,然后通过ctypes调用mprotect()以允许执行包含代码的页面。最后,我尝试使用ctypes调用代码。以下是我的完整代码: #!/usr/bin/python3 from ctypes import * # Initialise ..
发布时间:2022-04-15 16:14:40 服务器开发

从共享库获取枚举定义

我正在使用ctype访问用C编写的共享库。共享库的C源代码包含类似 的枚举 enum { invalid = 0, type1 = 1, type2 = 2 } type_enum; 在Python端,我打算只为各种枚举值定义整数常量,如: INVALID = 0 TYPE1 = 1 TYPE2 = 2 ,然后在调用C函数的Python代码中使用这些 ..
发布时间:2022-04-15 16:13:01 Python

避免模块名称损坏的干净方法?

我正在使用Python的ctype来连接一个C库文件,运行ctypesgen来创建我可以导入的包装器模块(例如api.py)。碰巧的是,许多C函数和宏的名称都以双下划线开头,当在类定义中使用时,它们被Python视为“私有”,并调用名称损坏。 例如,这是可行的: import api api.__someGetter() 但这不是 import api class MyCla ..
发布时间:2022-04-15 16:10:35 Python

从python回调到c++的选项

您好,我一直在尝试使用cython从C++调用一个由用户定义的Python回调。但是,如果没有对C++端或静态函数缓冲区的更改,这看起来是不可能的。 那么,绑定Proper回调只有一个选项吗(ctype与CFuncYPE)? Cython0.29.23 A.hpp: typedef void (*Callback) (); class A{ Callback callb ..
发布时间:2022-04-04 13:11:30 C/C++开发

如何在 python 子进程之间传递大型 numpy 数组而不保存到磁盘?

有没有一种在不使用磁盘的情况下在两个 python 子进程之间传递大量数据的好方法?这是我希望完成的卡通示例: 导入系统、子进程、numpycmdString = """导入系统,numpy完成 = 假虽然没有完成:cmd = raw_input()如果 cmd == '完成':完成=真elif cmd == '数据':##假数据.在现实生活中,从硬件获取数据.数据 = numpy.zeros( ..
发布时间:2022-01-18 15:28:09 Python

为什么这个 ctypes 代码不能与 Python 3.3 一起使用,但可以与 Python 2.7 一起使用?

所以我正在尝试制作一个 Python 3.3 程序来使用 ctypes 模块更改 Windows 桌面背景.我已经在 Python 2.7 中测试了以下代码,并且运行良好.但它不适用于 Python 3.3!我使用的是 Windows 7.这是代码: 导入 ctypesSPI_SETDESKTOPWALLPAPER=20ctypes.windll.user32.SystemParametersI ..
发布时间:2022-01-18 10:55:32 Python

在 Python 3 中更改 Windows 10 背景

我一直在尝试寻找通过 python 脚本更改 Windows 10 桌面壁纸的最佳方法.当我尝试运行此脚本时,桌面背景变为纯黑色. 导入 ctypes路径 = 'C:\\Users\\Patrick\\Desktop\\0200200220.jpg'def changeBG(路径):SPI_SETDESKWALLPAPER = 20ctypes.windll.user32.SystemParam ..
发布时间:2022-01-15 15:10:19 Python

如何在ctypes中传回指针?

对ctypes了解不多,最近才开始接触. 我在类 C 的 dll 中有一个简单的函数,它返回指向动态生成的字符串的指针. 它工作正常,但是因为我为字符串手动分配了内存,所以我应该在使用后释放它. 我有这样的事情: extern "C" char* DLL_EXPORT func(const char* str1, const char* str2){返回 getSomeString ..
发布时间:2022-01-12 20:42:38 Python

如何在 python 中处理输出参数,如 char** 数组?

我正在尝试从 Python 脚本调用 C 方法,但在调用将 char** 数组作为参数输出的方法时遇到了问题.C层的方法如下.helper.c 文件: //该方法以filename为输入,oNames为输出extern C int GetNames(char* iFilename, char** oNames){int oNumNames,oStatus;/*io* pIo = GetIoIns ..
发布时间:2022-01-12 20:40:08 C/C++开发