说到IronPython,我是个十足的菜鸟。我需要从ASP.NET网站调用py脚本,并具有以下代码:
var ipy = IronPython.Hosting.Python.CreateRuntime();
dynamic test = ipy.UseFile(Server.MapPath(@"~\python\test.py"));
test.DoWork();
我使用的IronPython版本是2.7。
我需要调用的第三方python文件有以下import指令:
import sys
from array import *
from subprocess import *
我收到错误消息“没有命名为subprocess的模块”。我已经从IronPython安装Lib目录复制了subprocess.py文件,但是我假设我需要在C#代码中链接到它?
谢谢。
编辑:
我找到了解决方案:
ScriptEngine scriptEngine = Python.CreateEngine();
var sp = scriptEngine.GetSearchPaths();
sp.Add(Server.MapPath(@"~\python\lib"));
scriptEngine.SetSearchPaths(sp);
var scope = scriptEngine.Runtime.ExecuteFile(Server.MapPath(@"~\python\test.py"));
如果任何人有任何意见/改进,请随时详细说明,因为我对所有这些Python/IronPython malarky有了新的了解。
发布于 2011-11-10 20:30:34
另一种方法是:
dynamic sys = scriptEngine.ImportModule("sys");
sys.path.append(somePath);
https://stackoverflow.com/questions/6557494
复制相似问题