如何使用C#加载IronPython脚本,在执行之前向范围添加变量

时间:2013-04-24 21:32:15

标签: c# ironpython

我有以下代码:

m_pyScope = pyRuntime.UseFile(filename);

在C#中的IronPython运行时中加载脚本文件。

问题是我需要在执行此脚本之前将自定义函数,变量等注册到该作用域。我现在使用的代码在编译后执行脚本体。

有没有办法像这样加载IronPython脚本:

  1. 从文件或文本变量编译
  2. 创建空范围(来自Engine的createScope())
  3. 使用该范围执行某些操作,例如添加一些功能
  4. 执行脚本体,例如任何函数或类之外的代码

1 个答案:

答案 0 :(得分:2)

我找到了解决方案。加载脚本的最佳方法是回答这个问题:

IronPython integration in C#: a specific problem/question

从运行时创建引擎,然后是作用域,然后编译源代码。之后,您可以调用source.Execute(scope)来执行

之前创建的范围内的脚本