我想从 Python 代码访问一些用 C# 编写的 .NET 程序集。
一项小研究表明我有两个选择:
- IronPython具有 .NET 接口(interface)功能/内置支持
- 带有 Python .NET 的 Python包
两种解决方案之间的权衡是什么?
最佳答案
如果您想主要基于 .NET 框架编写代码,我强烈推荐 IronPython 与 Python.NET。 IronPython 几乎是原生的 .NET - 因此它在与其他 .NET 语言集成时效果很好。
如果您只想将 .NET 中的一两个组件集成到标准的 Python 应用程序中,那么 Python.NET 是不错的选择。
在使用 IronPython 时存在显着差异 - 但其中大部分都相当微妙。 Python.NET 使用标准的 CPython 运行时,所以 this Wiki page是对两种实现之间差异的相关讨论。最大的差异出现在异常的成本上——因此一些标准的 Python 库在 IronPython 中的执行由于它们的实现而表现不佳。
关于python - IronPython 与 Python .NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1168914/