winfrom桌面程序调用python解释器
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了winfrom桌面程序调用python解释器,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1661字,纯文字阅读大概需要3分钟。
内容图文
Winfrom桌面程序调用python解释器执行py脚本后台执行完成具体的功能,为什么要这样处理呢?因为我现在的大部分过项目都是后台的脚本处理,界面基本的输入完成之后,将参数按照规则传入到脚本的入口,根据参数的不同执行不同的脚本流程,如果要修改某一个处理过程或者添加新的模块,不需要修改前台的任何代码,只需要在脚本中修改就可以达到需求的效果,简单、方便,风险较小,影响可控等优点。
因此,我做了一个demo,仅供参考,不足之处,请赐教!
界面如图:
Start_exe_py的执行代码如下:
1 private void Start_exe_Py_Click(object sender, EventArgs e) 2 { 3string txtName = this.textName.Text.Trim(); 4string CurentPath = System.Windows.Forms.Application.StartupPath; 5string pyExecPath = CurentPath + @"\..\3rdTools\Python27\python.exe"; 6string pyWorkingDir = CurentPath + @"\..\"; 7string pyFilePath = CurentPath + @"\..\UserDefinedScripts\Main.py"; 8string pyArgv = ""; 9 pyArgv = "" + txtName; 1011 Cursor.Current = Cursors.WaitCursor; 12 Process pro = new Process(); 1314//不显示窗口15 pro.StartInfo.RedirectStandardOutput = true; 16 pro.StartInfo.UseShellExecute = false; 17 pro.StartInfo.CreateNoWindow = true; 1819//显示窗口 20//pro.StartInfo.RedirectStandardOutput = false; 21//pro.StartInfo.UseShellExecute = true; 22//pro.StartInfo.CreateNoWindow = false;2324 pro.StartInfo.FileName = pyExecPath; 25 pro.StartInfo.WorkingDirectory = pyWorkingDir; 26 pro.StartInfo.Arguments = pyFilePath + pyArgv; 27 pro.Start(); 2829 pro.WaitForExit(); 30 Cursor.Current = Cursors.Default; 31 }
具体的目录结构方式参考:
用户自定义的脚本代码:
1 # !/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # @Date : 2016-06-30 09:10:44 4 # @Author : stlong 5 # @Version : 1.0 6 7 import os 8 import sys 9 10 def main(): 11 print " Hello Python! " 12 print raw_input("python input:") 131415if__name__ == ‘__main__‘: 16print sys.argv[0] 17print sys.argv[1] 18 main()
由于时间关系不足之处,请见谅!
原文:http://www.cnblogs.com/stlong/p/5629242.html
内容总结
以上是互联网集市为您收集整理的winfrom桌面程序调用python解释器全部内容,希望文章能够帮你解决winfrom桌面程序调用python解释器所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。