python脚本语言对于运维来说是非常方便的,特别是第三方库,但是我的桌面应用是c#写的,所以我要考虑怎么去让c#能去调用,赋值和传参python,有两种方法,但是都有利弊,希望有更好方法的小伙伴能分享一下。
第一个方法,在vs的NuGet包里,有一个IronPython包,IronPython 是一种在 NET 和Mono 上实现的 Python 语言,使用动态类型系统以让更多脚本语言能很容易地移植到NET Framework上。如果不使用第三方库,这个软件相当完美,但是使用第三方库的时候就各种问题来了,第一,不能使用pip安装,pip安装没有.egg文件,必须引用.egg的文件才能使用。第二,安装过程的繁琐性,反正我试了一下,就不想在体验第二遍了。百度搜索的基本上都是这个方法的介绍。
第二个方法,用python编译好文件,*.py,在c#中用流的方式打开,修改,然后保存,在模拟dos环境下运行,获取返回值。传参和返回都能实现,但是弊端就是还要在电脑上装python和第三方库。下面我们来看下这种方法的实现。
首先定义一个方法。通过cmd去运行python程序,并且获取它的返回值。