第一步:假装写了一个python程序
import sys
def myfunction(parmstr):
return "Parm:" + parmstr
if __name__ == '__main__':
print(myfunction(sys.argv[1]))
注意:我猜sys是用来接收参数,反正我也不会,你也照抄呗。另外,上面写的就是收到什么内容再加个字符返回去而已。
第二步:你可能需要写一个应用程序来调用试一下
//在窗体里面放个按钮
private void button1_Click(object sender, EventArgs e)
{
//调用的python的文件名字
string sArguments = @"testctop.py";
string[] strArr = new string[1];
//要传到python中的参数
strArr[0] = "coanimade";
RunPythonScript(sArguments, "-u", strArr);
}
public void RunPythonScript(string sArgName, string args = "", params string[] teps)
{
Process p = new Process();
//把写好的python文件和本程序放在同一级目录里面,通过下面的方式获取路径
string path = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + sArgName;
//我是在vs2019里面安装的python 没有配置环境变量
p.StartInfo.FileName = @"C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\python.exe";
string sArguments = path;
foreach (string sigstr in teps)
{
sArguments += " " + sigstr;//传递参数
}
p.StartInfo.Arguments = sArguments;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
string output = p.StandardOutput.ReadToEnd();
//python返回来的内容
this.textBox1.Text = output;
p.WaitForExit();
}
第三步:运行起来试试
点击按钮的时候,把python返回的内容放到文本框里