IronPython 初體驗

之前就聽過 Microsoft 要整合 .Net FrameworkPython 語言,不過一直沒有時間玩,直到因緣際會之下看到了 MSDN 上推廣 IronPython 的影片-「MSDN TV: IronPython: Python on the .NET Framework」,所以就花點小時間玩玩它。

首先到了 IronPython網站 下載了 1.0 beta 0.6 來玩,開啟了內附的 IronPythonConsole,一切就像 Python interactive mode 一樣,用起來跟普通的 Python 沒什麼兩樣,至於要使用 .Net framework 的話,必須要注意的是:

記得要 import clr,然後透過 clr.AddReference('xxxxxx') 來加入 .Net framework 的 API,比方說我想使用 System.Windows.Forms 的話就必須要 clr.addReference("System.Windows.Forms")。至於之前用 import sys 然後 sys.LoadAssemblyXXX 已經過時了。

影片中也看到了他們用 Visual Studio 2005 Express Edition 來整合 IronPython 進 C# 的 code 裡。因為我會一點 C# ,所以就試著用 C# 來寫,大致的步驟如下:

  1. 開啟一個 Project 後,首先要記得 Add Reference... 來把 IronPython 裡的 IronMath.dll 及 IronPython.dll 加入,否則不能使用 IronPython。
  2. 要使用 using 加上 IronPython.Hosting 這個 namespace
  3. 宣告一個 PythonEngine 的 object,如此一來就可以用這個 engine 來 Execute 你的 Python script囉~

跟 Python 結合融洽的 API Framework 非常多(開發GUI的就有:Gtk、Qt等等),現在 Microsoft 也把 .Net framework 跟 Python 緊密結合,看來要在各平臺開發程式,都可以好好考慮全面使用 Python 了!