IronPython是一个.NET平台上的Python实现,包括了完整的编译器、执行引擎与运行时支持,能够与.NET已有的库无缝整合到一起。
IronPython已经很好的集成到了.NET framework中,所以Ironpython和C#的交互也就变得很简单了。下面就通过一些简单的例子来看看IronPython和C#之间的交互。
环境设置
工欲善其事,必先利其器,所以在开始IronPython的开发之前,我们先找到一个方便的开发环境。
PTVS(Python tools for Visual Studio)是一个免费开源的VisualStudio的插件,支持 VisualStudio 2010/2012/2013,安装好这个插件之后,我们就可以直接通过VS进行IronPython的开发了。
下面一个截图显示了我们可以新建的项目模板:
IronPython调用C#
首先我们看下如何在IronPython中使用C#的简单例子。
使用标准.NET库
在.NET中,有很多标准库,在IronPython中,就可以使用import来引入这些标准库来直接使用。看一个简单的例子,我们使用.NET中的String和DateTime
from System import DateTime, String
formatStr = String.Format("{0} {1}", "Hello World! The current date and time is ", DateTime.Now)
print formatStr
print dir(String)
raw_input("press Enter to exit!")
代码输出如下,可以看到在IronPython代码中,可以通过String的Format方法进行字符串格式化的输出。
引入.NET库
在.NET开发中,会经常通过References来引用一些.NET库,当然在IronPython项目中,也可以引用并使用.NET库。
例如,现在我们有一个Calc的计算类型,里面有一个Add和Sub方法。通过这个类型,生成了一个CalcLib.dll。
namespac