Python对于数据分析和机器学习是非常的有优势,最近项目中遇到一个问题,需要通过在C#中调用Python脚本文件来处理数据,这里我使用C#中的System.Diagnostics.Process调用Python的脚本文件。
private void runPythonCmd()
{
using(Process p = new Process())
{
p.StartInfo.FileName = @"C:\Python_Code\TestSample\venv\Scripts\python.exe";
p.StartInfo.Arguments = @"C:\Data\3D\Data.py";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.Close();
}
}
其中Process位于System.Diagnostics下,但是当我们调用python.exe时,需要对第三方模块进行安装,若直接使用
p.StartInfo.FileName = “python”
但是这里需要指出的是,当所调用的Python脚本文件没有第三方模块依赖时,直接使用“Python”是可以的。当Python的脚本文件中使用第三方模块时,需要在Python系统安装路径下安装第三方模块库,才可以调用成功,否则会执行失败。这里我的第三方库直接安装在一个虚拟环境中。
|