我正在调试Python源代码(CPython 3.4)。我正在接收一个PyObject*。我想要printf它。
例如(来自Python 3.4源代码的Objects/ For atobject.c):
PyObject *o_ndigits = NULL;
Py_ssize_t ndigits;
x = PyFloat_AsDouble(v);
if (!PyArg_ParseTuple(args, "|O", &o_ndigits))
return NULL;
How do I printf o_ndigits?它几乎和这个问题一样:,但对于Python3
我使用的是Python3.2和C++。
我需要提取当前存储在PyObject中的C类型。我已经检查了文档,也在谷歌上搜索了一下,似乎没有其他人需要这样做。
所以我有一个PyObject,并试图提取C值。我有从对象中实际提取值所需的函数列表,但我首先需要知道的是,为了调用正确的函数,对象本身中存储了什么。
如果这有助于理解,这里有一些我正在尝试的示例代码。
//Variable is a custom variant type to allow for generic functionality.
Variable ExtractArgument( PyObject * arg )
{
Va
我一直在研究一个在python上使用C扩展的选择排序,目的是在python中获取一个列表,使用C代码进行排序,并在python中返回一个排序列表。听起来很简单,但是我无法在python中得到排序列表的值,因为当我试图打印排序列表时,我会得到1的值。
下面是C中的代码:
#include <Python.h>
int selectionSort(int array[], int N){
int i, j, min_element;
for (i = 0; i < N-1; i++) {
min_element = i;