【发布时间】:2009-10-21 14:51:28
【问题描述】:
我的 C# 应用程序中有一个使用 IronPython 2 的嵌入式脚本引擎。我创建 Python 运行时并向全局命名空间添加一些类,以便脚本可以将它们作为模块导入。
但是,我无法弄清楚的一件(非常基本的)事情是如何发送脚本参数。我意识到我可以只创建一个带有参数列表的变量,但必须有适当的方法来做到这一点。此外,以正确的“Python”方式执行此操作允许我编译脚本并使用名为 Sphinx 的自动文档构建器。所以最终的目标是能够使用:
import sys
sys.argv
在我的一个脚本中,让它获取用户指定的参数(通过 C# 应用程序)。
现在,我使用以下方法调用脚本:
// set up iron python runtime engine
_engine = Python.CreateEngine();
_runtime = _engine.Runtime;
_scope = _engine.CreateScope();
// run script
_script = _engine.CreateScriptSourceFromFile(_path);
_script.Execute(_scope);
我已经尝试搜索一个 API 来添加脚本参数,但没有成功。我还尝试将它们附加到脚本路径(示例中的 _path),但没有成功。我尝试使用 CreateScriptSourceFrom File 和 CreateScriptSourceFromSting (无论如何,这是一个很长的镜头......)。
我正在尝试做的事情可能吗?
【问题讨论】:
标签: c# .net ironpython