如何从c#方法调用python脚本中的函数? (没有IronPython)
在hello.py
中def hello_world(msg):
print msg
在test.cs中
ProcessStartInfo start = new ProcessStartInfo ();
start.FileName = "hello.py";
start.Arguments = string.Format("{0}", arg);
start.UseShellExecute = true;
start.RedirectStandardOutput = true;
using(Process process = Process.Start(start))
{
}
答案 0 :(得分:0)
操作系统可能无法正确解析文件关联,因此它不知道如何执行.py文件。
相反,请尝试使用' python.exe'作为FileName和hello.py作为参数。 exe的确切名称当然取决于你安装的python的版本。
举个例子:
ProcessStartInfo start = new ProcessStartInfo ();
start.FileName = @"c:\python\python27.exe";
start.Arguments = string.Format("hello.py {0}", arg);
start.UseShellExecute = true;
start.RedirectStandardOutput = true;
using(Process process = Process.Start(start))
{
}
(在上面的例子中,您当然必须替换python可执行文件的完整路径以使其工作)