Python:C#如何调用python脚本

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

阅读 18k
6 个回答

如果是方便自己或者周围的人使用方便的情况,一般需要满足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

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

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

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

【更新】

你试试看:

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题