我在尝试从我的 C++ 代码中调用 Python 函数时遇到了麻烦。
我正在尝试使用以下参数调用 Django 函数 call_command:
call_command('test', stdout=content)
看看这里为什么。这将运行不带 stdout=content 参数的命令:
PyObject_CallFunctionObjArgs(executeFunc, PyString_FromString("test"), NULL)
在我的一生中,我无法弄清楚如何创建这个关键字。
PyDict_New();
PyDict_SetItemString(...);
给我一个 'stdout'='content' 字符串,而不是 stdout=content。
Py_BuildValue("{s=s}", ... , ...)
做同样的事情。
如有必要,我可以毫无问题地获取内容 PyObject,我似乎无法正确创建 stdout 关键字参数,而 Python 在某些时候没有加上引号(将其作为字符串处理)。
如何从 C API 调用 call_command('test', stdout=content) ?