ctypes相关内容

在Python ctypes中使用array.array

我必须将Python程序与C库接口。我需要调用的特定函数需要一个数组并返回一个double。以下函数具有相同的签名,比我自己的函数更易于理解: double sum(double * array,const int length ){ double total = 0; int i; for(i = 0; i ..
发布时间:2020-10-12 23:21:01 Python

Python ctypes回调函数到SWIG

我有一个SWIG C ++函数,它希望有一个函数指针(WNDPROC),并想给它一个ctypes.WINFUNCTYPE包装的Python函数。 在我看来,这应该是兼容的,但是SWIG的类型检查引发异常,因为它不知道ctypes.WINFUNCTYPE类型实际上是WNDPROC。 什么 解决方案 我没有Windows机器吗?检查一下,但是我想您需要创建一个类型映射来告诉swig ..
发布时间:2020-10-12 23:19:56 C/C++开发

CTRL + C不会在Python中使用CTYPES中断对共享库的调用

当调用在C共享库(动态库)中执行的循环时,Python将不会收到KeyboardInterrupt,并且没有任何响应(或处理)CTRL + C。 我该怎么办? 解决方案 除非您使用 PyDLL 或 PYFUNCTYPE ; GIL在ctypes调用期间被释放。因此,如果C代码未安装自己的信号处理程序,Python解释器应通过在主线程中引发 KeyboardInterrupt 来处理S ..
发布时间:2020-10-12 23:18:44 Python

在python中使用ctypes方法会产生意外错误

我对python和ctypes很陌生。我正在尝试完成看似简单的任务,但是却获得了意想不到的结果。我正在尝试将字符串传递给c函数,因此我使用的是c_char_p类型,但这给了我一条错误消息。简而言之,这就是发生的事情: >> from ctypes import * >> ;> c_char_p(“ hello world”) 追溯(最近一次通话为最后): 文件“”, ..
发布时间:2020-10-12 23:17:37 Python

正在连接互联网?

我在使用python连接到Internet时遇到问题。 我在一个使用PAC文件设置代理的公司网络中。现在,如果我能找到并解析PAC来获取所需的东西,但我却不能,那就很好了。 奇怪的地方: R可以通过wininet和.External(C_download,...)连接到互联网以下载文件,因此我知道这是可能的,当我这样做时: import ctypes winine ..
发布时间:2020-10-12 23:17:33 Python

在python中将字符串转换为8位带符号整数

我正在尝试使用python和ctypes将电机控制系统拼凑在一起,我需要做的一件事情是接受文本输入并将其转换为8位带符号整数。 下面是我要调用的函数的文档。应该输入到程序中的文本是'EPOS2' 数据类型定义如下所示(请注意,“ char *”等于8位有符号整数) 那么我如何将'EPOS2'转换为-128到127之间的值? 最终,我想做的是 import ctype ..
发布时间:2020-10-12 23:15:21 Python

创建继承外部模块类的“通用”类的最佳方法

在 ctypes 模块中,底层的 c _ * 类型执行C样式截断而不会引发任何异常。例如, c_uint8(0x120)与 c_uint8(0x20)相同,与 c_uint8(32)。我正在寻找创建继承 ctypes 类型的类的方法,如果类型超出其范围,该类将引发自定义异常。到目前为止,这是我想出的: 从ctypes import * 类C_U8( c_uint8): def __i ..
发布时间:2020-10-12 23:15:11 Python

Python 2.6帮助中的ctypes

我似乎无法使该代码正常工作,给我的印象是我做得正确。 从ctypes import * kernel32 = windll.kernel32 string1 =“测试” string2 =“ test2” kernel32.MessageBox(无, string1, string2, MB_OK) **我尝试将其更改为MessageB ..
发布时间:2020-10-12 23:14:58 Python

在Python中使用WlanScan强制进行wifi扫描

我想知道如何从python执行 WlanScan 函数来启动无线网络扫描。我正在使用python模块 win32wifi 。它需要使用 WlanOpenHandle 和接口GUID pInterfaceGuid 获得的句柄。我不知道如何获取此GUID。任何帮助都将不胜感激。 解决方案 我安装了 Win32WiFi 模块,并在简短检查了@Castorix提供的 URL 之后(所有必需的信息都 ..
发布时间:2020-10-12 23:14:48 Python

传递包含3个整数的数组的Python CTypes结构时中止

我正在Kubuntu Trusty 64位上运行Python 3.4.0-0ubuntu2。 当试图为我的其他相关问题找到一个最小的例子时(但不能重复) 问题,我发现以下使用Python CType的琐碎代码导致 SIGABRT 调用 fn1 。 (请注意,在另一种情况下, fn1 可以正常工作,只有 fn2 无效并且发出信号是 SIGSEGV 。) lib.c: #inclu ..
发布时间:2020-10-12 23:14:40 Python

如何在Python上将列表传递给ctypes函数

这是一个分为两部分的问题。为了提供一些背景信息,我有一个C代码,如下所示: int c_func(const char * dir,float a,float b ,float c,float d) { printf(“%s\n”,dir); printf(“%f\n”,a); printf(“%f\n”,b); printf(“%f\n”,c); printf(“%f ..
发布时间:2020-10-12 23:13:30 其他开发

在Windows上使用ctypes在python中包装c ++函数:未找到函数

我需要运行一系列python脚本来计算各种脚本,这些脚本运行良好,但是其中一个运行速度非常慢,必须使用C ++来完成。 C ++代码已准备就绪,但是我需要找到一种从python调用C ++函数并获取返回值的方法。 我找到了有关SWIG,但没有在Visual Studio的Windows上运行(由于其他限制,我必须在Windows的VS中运行)。我发现对于具有标准输入和输出值的非常简单的功能 ..
发布时间:2020-10-12 23:13:28 C/C++开发

在python ctypes中将结构传递给Windows API

我正在尝试在Windows 7上的应用程序中的SysDateTimeObject中设置日期。我正在使用python 2.7和ctypes库以及以下代码,该代码尝试将DTM_SETSYSTEMTIME消息发送到SysDateTimeObject: 从ctypes导入* 从ctypes.wintypes导入BOOL,HWND,RECT,LPCSTR,UINT,INT,DWORD,WORD ..
发布时间:2020-10-12 23:13:24 Python

将结构指针传递给ctypes中的函数

我试图在ctypes中重做Misaka模块,但是当我尝试使用bufputs时,我得到一个错误(请参阅第二代码示例的结尾)。当我将指针传递给函数时,我使用 pointer(b)。那不起作用, byref(b)也不起作用。 这是函数签名: / * bufputs•将NUL终止的字符串附加到缓冲区* / void bufputs( struct buf *,const char * ..
发布时间:2020-10-12 23:13:22 Python

从ctypes中的其他函数作为指针返回的调用函数

我正在尝试使用 ctypes 调用一个c函数,该函数作为指针从另一个函数返回。从文档看来,我可以通过使用 CFUNCTYPE 声明函数,然后使用指针创建实例来实现。但是,这似乎给了我一个错误。这是一些示例代码。 sample.c: #包括 unsigned long long simple(void * ptr) { printf(“ pointer = ..
发布时间:2020-10-12 23:12:13 Python

使用IOCTL_DISK_SET_DRIVE_LAYOUT创建分区后,如何在此新创建的分区中创建新卷?

我正在尝试使用 IOCTL_SET_DRIVE_LAYOUT 。我的初始编码尝试是使用此SO页面完成的: Python ctypes结构分配更多内存时被覆盖。您可以在其中看到类DeviceIoControl 的定义。 我使用IOCTL_DISK_CREATE_DISK成功初始化了磁盘,并使用IOCTL_DISK_SET_DRIVE_LAYOUT创建了具有一定大小的新分区,以下是磁盘管理的结果 ..
发布时间:2020-10-12 23:12:09 Python