首页 > Python:C#如何调用python脚本

Python:C#如何调用python脚本

平时使用python来开发一些小脚本,自己用还可以。
但是,一旦给同事用的话(事先已经生成exe格式),由于是基于命令行模式的,所以,同事一直用不惯。
所以,打算用c#做界面,用python来处理事务逻辑,并将结果传回给C#。
具体不知道能不能实现?


既然用Python开发了,请使用Python继续GUI开发。

PyQT,wxPython,tinker。跨平台,开发也不算特别难。

还有一种方法,就是利用Web,毕竟Web也是一种UI。

【更新】

你试试看:

Python for .NET,以及IronPython,看哪种更加适合你。话说M$的Visual Studio里面也已经有Python了。


几年前做过类似的事儿,只是当时自己不会写C#(现在也不会),所以用autoit来写脚本做gui程序,调用python脚本生成的exe,非常简单,当时感觉效果还可以。
3年前写的一个小东西:
https://github.com/knktc/wp7-simple-sync/blob/master/wp7_simple_sync.au3
希望有所帮助。


请参见:http://stackoverflow.com/questions/4977571/how-to-print-out-the-value-that-subprocess-prints-with-c

中心大意是用C#里的popen equivalence来popen一个python子进程并用输入输出流交互。


ironpython


如果是方便自己或者周围的人使用方便的情况,一般需要满足2个条件
1. 对自己来说,用自己熟悉的语言,或者简单的语言,节约时间。
2. 对使用者来,管你用什么,用起来方便即可。

基于你熟悉c#和python,可以采用下面的方案。

  • 如果是深度依赖python的各种库,界面要求不高,可以用python自带的gui,例如wxPython,然后打包为exe分发。
  • 如果界面要求较高,可以c#写界面,然后python写代码。
  • 如果都要求,直接上手ironpython
  • 如果对界面要求更高,试试aauto,采用htmlayout写界面,只要你会html,会css,写个qq或者360的界面不是啥事,
  • 对界面还要跟高,秒杀QQ,360的怎么办,直接nw.js或者electron,逻辑部分用js,或者用npm下载python-shell模块,调用python,这样可充分利用python各种库,npm各种库,然后包装上css3的华丽外表,加点webgl炫酷的3d,cavas无语伦比的动态图表。

1) Python有GUI的方案,比如PyQt或wxPython,或者是Pyside(底层也是PyQt),而且这些是跨平台的。你可以参考下Eric,一个基于PyQt的IDE,效果跟native语言开发的ide基本上感觉不出差别。
2)如果是跨进程级别的集成,那没任何问题啊,不管后端是cpython或是jython或是irnopython,后端是一样的。
3)如果是进程内的集成,建议是Ironpython,代码示范 http://secretgeek.net/host_ironpython

【热门文章】
【热门文章】