1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > .NET 爱python——pythonnet模块使用

.NET 爱python——pythonnet模块使用

时间:2021-01-15 13:56:55

相关推荐

.NET 爱python——pythonnet模块使用

前言:如何更好地进行python与.NET之间的交互式编程?在之前,我们常常使用IronPython,在.NET平台上使用python开发,但是IronPython只支持python2.7版本,而且不在维护,pythonnet提供了一个更好的解决方案,它提供了二者的交互,可以在编写python的时候与C#交互,调用C#,也可以在编写.NET的时候,将python代码嵌入在C#里面。

详细信息参考:/pythonnet/pythonnet

一、python中调用.NET代码

首先需要安装这个python库:

pip install pythonnet

通过python net库我们可以调用.NET的命名空间就像python里面的模块一样那样调用。

import clrfrom System import Stringfrom System.Collections import * # 这是C#的命名空间,就像python本身一样

加载.NET的程序集,需要用到clr的AddReference函数来实现

import clrclr.AddReference("System.Windows.Forms")from System.Windows.Forms import Form

二、在.NET中调用python代码

举一个简单的例子

static void Main(string[] args){using (Py.GIL()){dynamic np = Py.Import("numpy");Console.WriteLine(np.cos(np.pi * 2));dynamic sin = np.sin;Console.WriteLine(sin(5));double c = np.cos(5) + sin(5);Console.WriteLine(c);dynamic a = np.array(new List<float> { 1, 2, 3 });Console.WriteLine(a.dtype);dynamic b = np.array(new List<float> { 6, 5, 4 }, dtype: np.int32);Console.WriteLine(b.dtype);Console.WriteLine(a * b);Console.ReadKey();}}/***Output:1.0-0.958924274663-0.6752620892float64int32[ 6. 10. 12.]***/

详细教程参考:

/pythonnet/pythonnet/wiki

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。