PyRun_String运行python脚本,但该脚本无法更改全局变量

问题描述

我有一个脚本,它仅测试import xxx更改更改全局变量

import time
print(globals())

它可以在全局字典中打印time{'__builtins__': <module '__builtin__' (built-in)>,'__file__': 'test.py','__package__': None,'time': <module 'time' from '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/time.so'>,'__name__': '__main__','__doc__': None}

但是我运行的代码

auto m = PyImport_AddModule("__main__");
auto g = PyModule_GetDict(m);
auto l = PyDict_New();
auto rst = runPythonString(the_script,g,l);

时间未打印出来:{'__builtins__': <module '__builtin__' (built-in)>,'__doc__': None,'__package__': None} 为什么以及如何解决这个问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)