1

我有以下代码:

m_pyScope = pyRuntime.UseFile(filename);

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

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

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

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

1 回答 1

4

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

IronPython 在 C# 中的集成:一个特定的问题/问题

从运行时创建引擎,然后作用域,然后编译源代码。之后,您可以调用 source.Execute(scope) 在之前创建的范围内执行脚本

于 2013-04-25T14:42:01.370 回答