最近工作中需要干这个事,网上搜了搜资料,改了改,基本是这样

建立一个控制台应用程序:

比如 加入我在命令行直接调用python脚本,命令为

y安装python后,添加环境变量,path下面,加入路径。

feng.py是需要执行的python脚本,command是其命令,-f 是参数 xx.os是需要操作对应的文件

static void Main(string[] args)

{

string[] strArr;//参数列表,需要传递的参数,这里只需要传递command -f xx.os 注意路径的正确

string sArguments = @"feng.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文件的绝对路径,如果是绝对路径,尽量保证 //同一级目录名称没有空格 比如 "C://xx//ni hao//; //这里的ni hao之间有空格,会引发错误,得不到相应结果。

string path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + sArgName;// 获得python文件的相对路径

string sArguments = path; if (tep.Length > 0)

{

foreach (string sigstr in teps)

{

sArguments += " " + sigstr;//传递参数

}

}

//下面为启动一个进程来执行脚本文件设置参数

p.StartInfo.FileName = @"python26.exe"; //注意路径,相对路径在Debug目录下,这里是安装python26.exe

p.StartInfo.Arguments = sArguments;//这样sArguments就变成了feng.py command -f xx.os

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调用exe程序 传入参数_关于使用c#调用python脚本文件,脚本文件需要传递参数...相关推荐

  1. python调用exe程序 传入参数_python运行带参数传入的exe文件

    #首先感谢风清扬博主(http://blog.sina.com.cn/s/blog_7fa9bb7d0102vi9a.html) 解决方案:使用bat文件与os.system()函数. 假设我们要运行 ...

  2. python 检测exe是否未响应_第002篇:Python的安装

    Python的版本出了很多,大致可分为Python2和Python3,我们课程所涉及的内容仅针对Python3. 针对不同的操作系统,Python的安装也会略有不同. 一.Windows操作系统 如何 ...

  3. java 使用Process调用exe程序 及 Process.waitFor() 死锁问题了解和解决

    前言 最近在开发android的同时也在开发java ,碰到了需要使用java 程序调用exe的需求,这里我使用的 process 来调用的.该篇文章 读完需要8+分钟,文章类型为 小白入门类型,此处 ...

  4. python 关闭exe程序进程

    python 关闭exe程序进程 import os def kill_exe(exe_name):"""杀死exe进程:param exe_name:进程名字:retu ...

  5. .net 部署到服务端IIS,Process调用exe程序无法运行问题解决

    场景: 开发某一功能将html内容转换为pdf,采用第三方插件wkhtmltopdf.exe进行转换.在本地调试正常运行,部署到服务端后文件没有正常生成. IIS中,Process打不开cmd程序,程 ...

  6. web调用服务器的exe文件,浏览器Web调用exe程序文件

    浏览器Web调用exe程序文件 Dwtowen • 2020 年 10 月 13 日 Loading... # 浏览器Web调用exe程序文件 ## IE 浏览器 在IE中可以使用ActiveXObj ...

  7. python能做出exe程序么_教你用python做exe程序

    pyinstaller是一个python扩展包,可以将python文件转换成exe文件,这样就可以实现在没有python的环境下运行想运行的程序啦! 也可以用python做一个windows桌面应用程 ...

  8. C#传递参数调用exe程序

    今天公司让我把Winform程序里的一块单独成一个exe文件,从原程序中打开新的exe程序,这就涉及到参数的传递,故来记录下传递参数到exe程序的方式 第一种方式 首先在程序A中添加引用using S ...

  9. Python程序使用os.system()方法调用exe程序导致主程序进程无响应

    现象:在python进程中使用os.system()调用外部的exe程序,导致主进程阻塞 解决方法: subprocess.Popen("***.exe") 使用subproces ...

最新文章

  1. C#封装类似任务管理器CPU使用记录图
  2. 作者:曾伟,电子科技大学副教授。
  3. 【编程题目】有 n 个长为 m+1 的字符串,如果某个字符串的最后 m 个字符与某个字符串的前 m 个字符匹配......
  4. 做游戏,学编程(C语言) 11 2048
  5. android之普通蓝牙通信
  6. openresty 前端开发序 1
  7. java求实数的整数部分和小数部分_输入一个浮点数,并输出该数的整数部分和小数部分...
  8. ubuntu linux 从入门到精通.pdf,UBUNTU LINUX从入门到精通(附DVD)
  9. js给图片打马赛克?
  10. 解密Zynga:专注 流水线 数据控
  11. python模拟点击下一页_Python使用selenium模拟点击,进入下一页(三)
  12. pmp知识点(9)-项目资源管理
  13. 光伏储能容量优化MATLAB论坛,微电网中电池储能的容量配置及优化
  14. WPS 合并一个工作簿中多个工作表
  15. Mac-修改MySQL密码
  16. ios 按钮下面加下划线_IOS UIlabel 、UIButton添加下划线
  17. 汇编总结(3)——程序设计初步
  18. Chrome 70 将继续在地址栏隐藏网址中的 WWW
  19. ERROR:C2678 二进制“<”: 没有找到接受“const _Ty”类型的左操作数的运算符(或没有可接受的转换)
  20. vue如何实现消息的无缝滚动

热门文章

  1. java.lang.StackTraceElement类
  2. SAP Credit Memo Debit Memo
  3. SAPMMC控制台服务消失的解决方法
  4. 数据人必须会的技能,用手机查看数据报告真香
  5. 酒店差异战打响,“设计标签”能实现突围吗?
  6. 计算机里的文件弄不到桌面怎么办,笔记本电脑桌面上的文件夹不见了怎么办
  7. adb 连接某个wifi_一加7 Pro全局强制开启90Hz刷新率的办法(附ADB文件下载)
  8. 俄罗斯计算机科学留学,中南大学计算机科学与技术、俄罗斯硕士留学有没有寒暑假班?...
  9. html页面懒加载灰度图片大小,小程序初级指南--图片及其优化
  10. java中集合的区别_Java中的集合与集合之间的区别