gpt4 book ai didi

python 嵌入 C : define the python script as a C string?

转载 作者:太空宇宙 更新时间:2023-11-04 01:57:15 25 4
gpt4 key购买 nike

我想在 C 中调用以下 python 脚本:

#!/usr/bin/python2.7

import parser

def evaluate(text):
code = parser.expr(text).compile()
return eval(code)

如下页所述https://docs.python.org/2/extending/embedding.html ,我可以使用文件的密码(路径)从 C 调用此脚本。

但是,我想知道是否可以通过直接在 C 字符串上调用 python 来定义脚本来不加载脚本。

例如,我想说我把:

#define PYTHON_SCRIPT ((char*)(\      
import parser\
\
def evaluate(text):\
code = parser.expr(text).compile()\
return eval(code)\
))

是否可以直接在该字符串上调用 python 解释器?

确实,我知道我需要将文本作为变量传递,但我不能使用这个 Pyrun_SimpleString 函数,而且我找不到可以回答这个问题的东西。

最佳答案

如评论中所述,没有 Pyrun_SimpleString。涵盖了如何从 C 执行 Python 函数 here .一种方法:

  1. 使用 Py_CompileString 编译脚本
  2. 为全局变量/局部变量创建字典。
  3. 使用 PyDict_GetItemString(name) 从全局字典中提取函数
  4. 使用 PyArg_ParseTuple 构建参数元组
  5. 使用 PyObject_CallFunction 执行您的函数对象。

关于python 嵌入 C : define the python script as a C string?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32560424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com