我正在调试Python源代码(cpython3.4)。我收到一个PyObject*。我想printf
它。在
例如(来自python3.4源代码的Objects/floatobject.c):
PyObject *o_ndigits = NULL;
Py_ssize_t ndigits;
x = PyFloat_AsDouble(v);
if (!PyArg_ParseTuple(args, "|O", &o_ndigits))
return NULL;
我该怎么做?它几乎和这个问题一样:Python: get string representation of PyObject?,但对于Python3。对于原始解,我得到了"undefined reference to PyString_AsString"
错误。在
PyObject_Repr
和PyObject_ASCII
都返回对象的unicodestr
表示。如果您的终端不使用UTF-8,您可能需要ASCII转义表示。获取带有PyUnicode_AsUTF8
或^{至于}。在
PyString_AsString
,对于3.xbytes
类型,它变成了PyBytes_AsString
或{相关问题 更多 >
编程相关推荐