Python与.NET集成

9 投票
3 回答
7979 浏览
提问于 2025-04-15 16:19

我现在在研究Python,因为我非常喜欢它的文本解析功能和nltk库,但我传统上是一个.Net/C#的程序员。我觉得IronPython对我来说不是一个合适的选择,因为我在使用NLTK,而这个库可能需要移植到CLR上。我稍微看了一下Python for .NET,想知道这是否是一个好的起点。有没有办法把一个Python类转到C#里?另外,这个解决方案现在还在使用吗?更好的是,有人做过这个吗?我考虑的一种方案是使用一个持久化的媒介作为中介(在Python中解析,存储到MongoDB,然后在.NET中运行网站)。

3 个回答

2

这只是一个想法

你觉得把Python当成服务器来运行,然后通过socket从.NET连接过去怎么样?

因为NLTK加载需要时间,提前加载会更好。

6

我不知道你为什么会在IronPython上遇到问题。你仍然可以在那儿使用所有的nltk调用。

关于你问的如何把Python类移植到C#,你可以试试把你的Python代码编译成一个EXE文件。这样会生成一个包含你所有Python类的DLL文件。这种方法已经存在一段时间了,我以前用过,效果很好。

9

NLTK是一个纯Python的库,所以它可以很容易地在IronPython上运行。通过搜索,我找到了这个链接 - 你只需要安装几个IronPython默认没有的额外Python库。

这可能是你集成的最简单方法。否则,你就得以子进程的方式运行Python,这听起来有点复杂,或者把Python当作一个服务器来处理你的请求。虽然这种方法可能更灵活,但也比较复杂。如果你选择这种方式,可以考虑使用Twisted来简化服务器的代码。

不过,建议你先试试IronPython……

撰写回答