有哪些好用的 Pythonc# 全文检索 引擎引擎

爬虫框架很多洳果有兴趣我们自己也可以写一些。我们不需要掌握每种主流的爬虫框架只需要根据自己擅长编写语言,深入的掌握一种爬虫框架即可大多数爬虫框架实现起来都大同小异。

更多精彩关注公众号:DT数据技术博文

}

IronPython是一个.NET平台上的Python实现包括了完整的编译器、执行引擎与运行时支持,能够与.NET已有的库无缝整合到一起

工欲善其事,必先利其器所以在开始IronPython的开发之前,我们先找到┅个方便的开发环境

下面一个截图显示了我们可以新建的项目模板:

首先我们看下如何在IronPython中使用C#的简单例子。

在.NET中有很多标准库,在IronPythonΦ就可以使用import来引入这些标准库来直接使用。看一个简单的例子我们使用.NET中的String和DateTime

在.NET开发中,会经常通过References来引用一些.NET库当然在IronPython项目中,也可以引用并使用.NET库

例如,现在我们有一个Calc的计算类型里面有一个Add和Sub方法。通过这个类型生成了一个引用:

库,这样就可以方便嘚创建图形界面应用

在新建的项目中,VS会帮我们自动引用WPF相关的库同时会有一个.py和.xaml文件。

下面看一个简单的例子通过IrpnPython实现的一个简單计算器,界面的代码如下:

<库下面看看通过C#代码执行IronPython脚本。在.NET framework中包含了IronPython的编译器和执行引擎,所以我们可以通过C#代码创建一个引擎實例然后执行脚本。

先看看我们需要使用的类型:

  • ScriptEngine: 动态语言(IronPython)执行类可于解析和执行动态语言代码。
  • ScriptScope:构建一个执行上下文其Φ保存了环境及全局变量;宿主(Host)可以通过创建不同的 ScriptScope 来提供多个数据隔离的执行上下文。
  • ScriptSource:操控动态语言代码的类型可以编译(Compile)、运荇(Execute)代码。

现在我们有一个简单的打印当前时间的IronPython脚本:

然后就可以使用下面的方式执行脚本:

在ScriptScope类型中有一个SetVariable方法,我们可以通过這个方法给脚本传递参数

这样,我们就可以把一个C#实例传递给IronPython然后脚本就可以使用C#实例的成员。看一个例子:

在这个例子中C#代码中創建了一个Student类型的实例,并把这个实例传递给了PrintStuInfo.py脚本

通过输出可以看到,IronPython脚本可以方便的访问C#实例的成员

本篇文章通过一些例子演示叻IronPython与C#的交互,感觉有几个例子还是很有意思的

有时候使用C#调用IronPython可以使程序变得更加灵活,通过一个C#类型提供一组封装好的操作每次构建类型实例然后传递给脚本;这样,用户就可以编写IronPython脚本然后使用C#类型中提供的操作方法,从而实现不同的自定义操作

}

我要回帖

更多关于 c# 全文检索 引擎 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信