如何在嵌入Python的执行过程中解析绑定?

2024-04-19 12:05:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我将Python嵌入到C++应用程序中。我计划使用PyEval_EvalCode来执行Python代码,但是我没有提供局部变量全局变量作为字典,而是在寻找一种让程序动态解析符号引用的方法。你知道吗

例如,假设我的Python代码由以下表达式组成:

bear + lion * bunny

我不想把bearlionbunny以及它们的关联对象放入我传递给PyEval_EvalCode的字典中,而是希望Python解释器回调我的程序并请求这些命名对象。你知道吗

有办法做到这一点吗?你知道吗


Tags: 对象代码程序应用程序字典符号动态计划
2条回答

可能吧。我从未尝试过,但是理论上,您可能能够实现C++中的一个小扩展类,它覆盖了^ { }或^ {CD3}}函数指针^ {CD4}}。将这个实例作为局部和/或全局变量传递到^ {CD5> },并且你的C++方法应该被要求为你解决狮子、老虎和熊。你知道吗

通过提供locals和globals字典,您提供了执行evaled代码的环境。这实际上为您提供了一个接口,将名称映射到C++应用程序中定义的对象。你知道吗

你能解释一下你为什么不想用字典吗?你知道吗

<>你可以做的是在C++中处理字符串,然后在代码之前对字符串进行替换。你知道吗

相关问题 更多 >