下面代码实现了调用“KZ.exe”这个文件,
同时给 输入4 这个参数CMD中操作如下
PS C:\Users\dell> kz.exe 4
输出的值则是通过 DCoutput 这个来接收,代码中进行了两次执行exe文件,获取了两次的输出值
string Get_DC_Voltage(){Process process = new Process();//实例process.StartInfo.CreateNoWindow = true;//设定不显示窗口process.StartInfo.UseShellExecute = false;process.StartInfo.FileName = "kz.exe"; //设定程序名process.StartInfo.RedirectStandardInput = true; //重定向标准输入process.StartInfo.RedirectStandardOutput = true; //重定向标准输出process.StartInfo.RedirectStandardError = true;//重定向错误输出process.StartInfo.Arguments = "4";process.Start();process.WaitForExit();//多次执行需要在这个位置执行string DCoutput = string.Empty;DCoutput = process.StandardOutput.ReadToEnd();//获取输出流,输出的值会传递到DCoutput中Debug.WriteLine(DCoutput);//再次获取process.Start();process.WaitForExit();DCoutput = process.StandardOutput.ReadToEnd();//获取输出流Debug.WriteLine(DCoutput);process.StandardInput.Close();process.Close();return DCoutput;}
python执行代码的时候需要先布置python的环境,可能会给编程带来一些麻烦
思路,C# 调用python.exe ,文件名称,输入的值
以下是cmd中的操作
PS C:\Users\dell> python kz.exe 4
安装 PyInstaller 模块
pip install pyinstaller
成功的话会有如下的显示
Successfully installed pyinstaller-x.x.x
app.py就是运行的程序
pyinstaller -F app.py
-h,–help 查看该模块的帮助信息
-F,-onefile 产生单个的可执行文件
-D,–onedir 产生一个目录(包含多个文件)作为可执行程序
-a,–ascii 不包含 Unicode 字符集支持
-d,–debug 产生 debug 版本的可执行文件
-w,–windowed,–noconsolc 指定程序运行时不显示命令行窗口(仅对 Windows 有效)
-c,–nowindowed,–console 指定使用命令行窗口运行程序(仅对 Windows 有效)
-o DIR,–out=DIR 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件
-p DIR,–path=DIR 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径
-n NAME,–name=NAME 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字
以上列出的只是 PyInstaller 模块所支持的常用选项,如果需要了解 PyInstaller 选项的详细信息,则可通过 pyinstaller -h 来查看。
PS:笔者经验python打包成exe之后运行速度明显变慢,就很无语。