我是一名C#.NET程序员,正在学习Python。我已经下载了IronPython,并且知道它可以调用.NET库。
我想知道是否有办法反过来,就是在我的C#代码中调用一些现有的“经典”Python库,也许使用.NET Interop。
我希望能够访问诸如pygame之类的库中的函数。
答案 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下无需修改即可运行。“
希望这有帮助