3
PyRun_String("random.randint(1,10)", Py_eval_input, globals, globals);

返回错误:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'random' is not defined

在代码的前面,我做了:

PyImport_ImportModule("random");

我想这不是让它工作的方法。正确的方法是什么?谢谢!

4

1 回答 1

2

PyImport_ImportModule返回导入的值。您需要将其保存在globalsname 下random。总之:

PyMapping_SetItemString(globals, "random", PyImport_ImportModule("random"));

但不要忘记检查导入的结果,以防引发异常。

于 2011-05-27T10:27:16.750 回答