かなり、便利なIronPython君。
まだちょっとしか触っていないのですが、.netの動作確認するのとかには
もってこいです。コンパイルの必要もないですしね。
ちょこっとしたメモです。
- IronPythonを.net組み込み状態にする。
import clr
clrモジュールをインポートとすると、IronPythonが本来の力を
発揮し始めます。起動した直後、つまりclrモジュールをインポートしていない
状態では、普通のpythonとほぼ同じ状態となっています。
上記モジュールをインポートすると、ビルドイン関数やリストなどに
.net版のメソッドが追加されます。
でも、そのままだとまだ.netのクラスライブラリが使えないので
次に以下のコマンドを発行します。
import System as _s
これで、System名前空間がインポートされます。個人的には
別名をつけるのがすきなのですが、そのまま別名なしで直接アクセスしたい場合は
以下のようにします.
from System import *
これで、System名前空間の全てのものがpythonのデフォルトの名前空間にインポートされます。
- .netクラスライブラリを使用する。
これも特に問題なしです。以下のようにそのまま使えます。
import clr import System as _s print _s.Environment.OSVersion
とやると、OSのバージョンが出力されます。当然print関数にて
呼ばれているのは、ToStringメソッドになります。
こんなのもオッケイ。
import System.IO as _io w = _io.StringWriter() w.WriteLine("hoge") w.WriteLine("hehe") w.Flush() print w
import System.Threading as _th def thread_start(): for x in range(10): print x _th.Thread.Sleep(1000) t1 = _th.Thread(_th.ThreadStart(thread_start)) t1.Start()
- Pythonのモジュールを利用
IronPythonでPythonモジュールを使用するには、sys.pathに
モジュールパスを通してあげなければなりません。
import sys sys.path.append("pythonインストールディレクトリ/Lib")
これで、呼べるようになります。
import os os.listdir(".")