使⽤C#调⽤Python脚本,带参数列表z static void Main(string[] args)
{
writeline使用方法pythonstring[] strArr;//参数列表
string sArguments = @"Pythons.py";//这⾥是python的⽂件名字
RunPythonScript(sArguments, "-u", strArr);
}
public static void RunPythonScript(string sArgName, string args = "",params string[] teps)
{
Process p = new Process();
string path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + sArgName;// 获得python⽂件的绝对路径 p.StartInfo.FileName = @"python";
string sArguments = path;
if (tep.Length > 0)
{
foreach (string sigstr in teps)
{
sArguments += "" + sigstr;//传递参数
}
}
if (args.Length > 0)
{
sArguments += "" + args;
}
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();
p.BeginOutputReadLine();
p.OutputDataReceived += new DataReceivedEventHandler(p_OutputDataReceived);
Console.ReadLine();
p.WaitForExit();
}
//输出打印的信息
static void p_OutputDataReceived(object sender, DataReceivedEventArgs e)
{
if (!string.IsNullOrEmpty(e.Data))
{
AppendText(e.Data + Environment.NewLine);
}
}
public delegate void AppendTextCallback(string text);
public static void AppendText(string text)
{
Console.WriteLine(text);
}
传递参数时,每个参数中间要有⼀个空格
Python接收参数的⽅法:
从1开始接收参数
args1= sys.argv[1]
args2=sys.argv[2]
args2=sys.argv[3]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论