我在后台使用Visual C#作为UI和Python。
这可能吗?
答案 0 :(得分:2)
您可以在后台的新进程中启动python,并将表单项作为参数传递给进程启动信息,就像从命令行运行python脚本一样,如下所示:
var start = new ProcessStartInfo
{
FileName = _pathToPythonExecutable,
Arguments = string.Format(" {0} --arg1 {1}",_pathToYourPythonScript, //formItemValue),
UseShellExecute = false,
RedirectStandardOutput = true,
RedirectStandardInput = true,
RedirectStandardError = true,
WorkingDirectory = _currentWorkingDirectory
};
using (Process process = Process.Start(start))
{
// Do stuff
}
您已经在我的开始信息中看到,我告诉过程重定向标准输入,标准输出和标准错误。这是您可以在进程之间传递数据的另一种方法。
你会像这样写标准输入:
process.StandardInput.Write(input);
process.StandardInput.Close();
标准输出和标准错误是流,因此您可以像这样读取它们
// This would be the same for standard error
using (StreamReader reader = process.StandardOutput)
{
result = reader.ReadToEnd();
}