博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用C#调用Python脚本,带参数列表 z
阅读量:2236 次
发布时间:2019-05-09

本文共 1918 字,大约阅读时间需要 6 分钟。

static void Main(string[] args)        {            string[] 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]

转载于:https://www.cnblogs.com/zeroone/p/3632371.html

你可能感兴趣的文章
关于三元运算符的类型转换问题
查看>>
笔记本怎么设置WIfi热点
查看>>
如何实现字符串的反转及替换?
查看>>
Java面试题全集(上)
查看>>
Java面试题全集(中)
查看>>
值传递和引用传递
查看>>
什么情况下用+运算符进行字符串连接比调用StringBuilder对象的append方法连接字符串性能更好?
查看>>
怎么根据Comparable方法中的compareTo方法的返回值的正负 判断升序 还是 降序?
查看>>
理解事务的4种隔离级别
查看>>
常用正则匹配符号
查看>>
建议42: 让工具类不可实例化
查看>>
Java 异步机制与同步机制的区别
查看>>
hibernate的对象三种状态说明
查看>>
什么是N+1查询?
查看>>
Spring 接管 Hibernate 配置 延迟加载
查看>>
找出不在预定数组中的自然数
查看>>
String常见面试题
查看>>
直插,快排,堆排,归并排序的分析
查看>>
二叉树的各种操作(面试必备)
查看>>
oracle
查看>>