Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
确定Python代码是否在嵌入式解释器中运行 我正在编写一个嵌入Python解释器的C++应用程序。如果代码是从嵌入式解释器运行的,而不是从控制台运行的,我想安装一个自定义的sys.excepthook_Python_C++_Global Variables - Fatal编程技术网

确定Python代码是否在嵌入式解释器中运行 我正在编写一个嵌入Python解释器的C++应用程序。如果代码是从嵌入式解释器运行的,而不是从控制台运行的,我想安装一个自定义的sys.excepthook

确定Python代码是否在嵌入式解释器中运行 我正在编写一个嵌入Python解释器的C++应用程序。如果代码是从嵌入式解释器运行的,而不是从控制台运行的,我想安装一个自定义的sys.excepthook,python,c++,global-variables,Python,C++,Global Variables,翻阅pythoncapi文档,我发现我可以使用它来获取对globals字典的引用,并在初始化嵌入式解释器时设置一个全局变量 PyObject*PyEval\u GetGlobals() 返回值:借用的引用。返回全局索引的字典 当前执行帧中的变量,如果没有帧,则为NULL 目前正在执行 不幸的是,此函数返回NULL,因为没有执行帧。有没有其他方法可以从C API插入全局变量?或者是一种更好的方法来确定如何从Python端执行代码

翻阅pythoncapi文档,我发现我可以使用它来获取对
globals
字典的引用,并在初始化嵌入式解释器时设置一个全局变量

PyObject*PyEval\u GetGlobals()
返回值:借用的引用。返回全局索引的字典 当前执行帧中的变量,如果没有帧,则为NULL 目前正在执行

不幸的是,此函数返回
NULL
,因为没有执行帧。有没有其他方法可以从C API插入全局变量?或者是一种更好的方法来确定如何从Python端执行代码