对于IronPython,我是一个完整的noob。我需要从ASP.NET网站调用py脚本,并具有以下代码:
var ipy = IronPython.Hosting.Python.CreateRuntime(); dynamic test = ipy.UseFile(Server.MapPath(@"~\python\test.py")); test.DoWork();
我使用的IronPython版本是2.7。
import sys from array import * from subprocess import *
我收到错误“No module named 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恶意软件的新的领域。
解决方法
另一种做法:
dynamic sys = scriptEngine.ImportModule("sys"); sys.path.append(somePath);