gpt4 book ai didi

python - 从 python 中执行复杂的 python 脚本

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

我有一个 python 脚本,它有一个方法,该方法接受包含另一个 python 脚本的字符串。我想执行该脚本,调用其中的函数,然后在我的主脚本中使用该函数的结果。目前看起来像这样:

def executePythonScript(self, script, param):
print 'Executing script'
try:
code = compile(script, '<string>', 'exec')
exec code
response = process(param)
except Exception as ex:
print ex
print 'Response: ' + response
return response

假设“process”函数存在于运行时编译和执行的脚本中。

此解决方案适用于非常简单的脚本,例如:

def process():
return "Hello"

...但是我没有运气获得更复杂的脚本来执行。例如,如果我的脚本使用 json 包,我会得到:

global name 'json' is not defined

此外,如果我的进程函数引用同一脚本中的另一个函数,我也会在那里收到错误:

def process():
return generateResponse()

def generateResponse():
return "Hello"

...给我一个错误:

global name 'generateResponse' is not defined

这是命名空间的问题吗?为什么 json (这是一个标准的 python 包)无法被识别?任何建议将不胜感激!

最佳答案

import subprocess

subprocess.call(["python","C:/path/to/my/script.py"])

我建议不要这样做,只使用导入

这也是在您的 PYTHONPATH 已在环境变量中设置的假设下进行的。

关于python - 从 python 中执行复杂的 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41753186/

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