将python函数导入.NET语言?

时间:2009-02-18 15:47:54

标签: c# python ironpython

我是一名C#.NET程序员,正在学习Python。我已经下载了IronPython,并且知道它可以调用.NET库。

我想知道是否有办法反过来,就是在我的C#代码中调用一些现有的“经典”Python库,也许使用.NET Interop。

我希望能够访问诸如pygame之类的库中的函数。

2 个答案:

答案 0 :(得分:5)

Ironpython 2.0与CPython 2.5兼容,因此使用< = 2.5 API的纯Python在Ironpython下应该可以正常工作。我相信Ironpython代码可以编译成DLL。

对于像Pygame这样的C扩展,您可能需要查看Ironclad。这是一个允许在Ironpython中使用C扩展的项目。这也可以为您提供您正在寻找的本机代码桥。

答案 1 :(得分:3)

您可以使用Python for .Net,它允许您“使用CLR服务并继续使用现有的Python代码和基于C的扩展,同时保持Python代码的本机执行速度。”

此外,'该项目的一个关键目标是,Python for .NET应该“按照您期望的方式在Python中工作”,除了特定于.NET的情况(在在哪种情况下,目标是“按照您在C#中的预期方式”工作。此外,随着IronPython项目的发展,我的目标是为IronPython编写的代码在Python for .NET下无需修改即可运行。“

希望这有帮助