4
我需要从C++评估一个Python表达式。此代码似乎工作:为什么PyRun_String不评估bool文字?
PyObject * dict = PyDict_New();
PyObject * val = PyRun_String(expression, Py_eval_input, dict, 0);
Py_DECREF(dict);
不幸的是,它失败可怕,如果表达的是 “假”, “真”(即,VAL是0和PyErr_Occurred()返回true)。我究竟做错了什么?他们不应该分别评估Py_True和Py_False吗?
PyErr_Print()在失败后调用它时会显示什么? – 2009-02-04 16:18:24
我知道,我之前应该做到这一点,但由于多种原因,我无法在应用程序中调用PyErr_Print()。无论如何,我在一个孤立的文件中重现了这一点,这就是我得到的: NameError:name'False'未定义 !!它看起来像这个文字不可用C ...! – UncleZeiv 2009-02-04 17:57:29