特集
IronPython開発入門(前編)

IronPythonプログラミングの始め方

デジタルアドバンテージ 一色 政彦
2007/09/07
Page1 Page2 Page3

スクリプト・モードによるIronPython開発(コンソール・アプリケーション)

 スクリプト・モードでは、Pythonスクリプト・ファイル(拡張子「.py」)を最初に新規作成し、それをお気に入りのテキスト・エディタで編集する。先ほど示したインタラクティブ・モードの例からも分かるようにPythonではインデントが重要になるので、テキスト・エディタは、できればインデント状態(スペースやタブ)が可視化され、自動的にインデントを行ってくれるものがよい。

 ここでは、「HelloScript.py」というファイルを新規作成して、以下のようなコードを記述する。

# coding: shift-jis


# メッセージの出力を行う
hello = "Hello IronPython!"
print hello

# 表示を確認するまでの待機のために
raw_input("\n[Enter]キーで終了します ...")
スクリプト・モードで実行するPythonスクリプト・ファイル(HelloScript.py)

 プログラム内容を簡単に説明すると、「#」で始まっている行はコメントだ。Pythonでは「#」から改行までの部分がコメントとして取り扱われる。ただし、最初の「# coding: shift-jis」はファイルのエンコーディングを指示するためのコードである。この例では「shift-jis」を指定しているので、実際にファイルは「Shift-JIS」で保存する必要がある。「UTF-8」でファイルを扱いたい場合は「utf-8」を指定すればよい。

 「hello」は変数で「Hello IronPython!」という文字列を代入されている。print文でその変数の内容を出力している。

 「raw_input(……)」はキー入力を受け付けるビルトイン関数で、[Enter]キーで改行するまで、処理が先に進まない。ここでは、プログラムが[Enter]キーを押すまで終了しないようにするために利用している。

 このようなHelloScript.pyファイルをスクリプト・モードで実行するには、このスクリプト・ファイルを先ほどのインタラクティブ・モードで使ったIronPythonの実体「ipy.exe」の上にドラッグ&ドロップすればよい。もしくは次の例のように、コマンドライン引数を指定して「ipy.exe」を実行してもよい。

C:\IronPython-1.1\ipy.exe "C:\HelloScript.py"
コンソール・アプリケーションのスクリプト・モード実行方法
「ipy.exe」ファイルのコマンドライン引数としてPythonスクリプト・ファイルへのパスを指定する。

 これにより、次のような画面が表示される。

コンソール・アプリケーションのスクリプト・モード実行例

スクリプト・モードによるIronPython開発(Windowsアプリケーション)

 IronPythonではWindowsアプリケーションも記述できる。だがそれを実行する際に先ほどの「ipy.exe」を使うと、コマンド・プロンプト画面が立ち上がってしまう。「ipy.exe」はコンソール・アプリケーション向けの実行エンジンだからだ。コマンド・プロンプト画面を表示せずにWindowsアプリケーションを実行するには、「ipyw.exe」ファイルを使う(「ipy.exe」と同じフォルダにある)。

 まずはWindowsアプリケーションのPythonスクリプト・ファイル(WindowsHello.py)を作成しよう。なお、ここでは最もシンプルなメッセージ・ボックスの表示を行うコードを記述する。具体的には次のようなコードになる。

# clrをインポートして、System.Windows.Forms.dllを参照に追加
import clr
clr.AddReferenceByPartialName("System.Windows.Forms")

# System.Windows.Forms名前空間からMessageBoxクラスをインポートして
# そのMessageBoxクラスを使ってメッセージ・ボックスを表示
from System.Windows.Forms import MessageBox
MessageBox.Show("Hello IronPython!", "Insider.NET")
WindowsアプリケーションのPythonスクリプト・ファイル(WindowsHello.py)

 コードの基本的な意味についてはコメントが参考になると思うので、ポイントとなる構文部分のみ簡単に説明する。

 「import」は(外部で実装された)モジュールをインポートするための文である。また、

from <名前空間名(=パッケージ名)> import <クラス名(=モジュール名)>

という記述も、モジュールをインポートするためのものだ(<クラス名>には「*」で全クラスをインポートすることも可能)。

 以上のWindowsHello.pyファイルを実行するには、先ほどとほぼ同様で、単に「ipy.exe」を「ipyw.exe」に置き換えるだけだ。

C:\IronPython-1.1\ipyw.exe "C:\WindowsHello.py"
Windowsアプリケーションのスクリプト・モード実行方法
「ipyw.exe」ファイルのコマンドライン引数としてPythonスクリプト・ファイルへのパスを指定する。

 実行結果は次のようになる。

Windowsアプリケーションのスクリプト・モード実行例

 コマンド・プロンプトが開かずに、いきなりメッセージ・ボックスが表示される。

 以上、IronPython開発の最初の一歩を簡単に紹介した。IronPythonの開発についてもっと詳しく学びたい方は次の書籍をお勧めする。

IronPythonの世界 − オープンソース×Windowsスクリプティング』(SoftBank Creative社。ISBN978-4-7973-3939-0)

 さて次回後編では、Visual Studioを活用してIronPython開発を行う方法を紹介する。お楽しみに。End of Article


 INDEX
  [特集]IronPython開発入門
  IronPythonプログラミングの始め方
    1.はじめに
    2.インタラクティブ・モードによるIronPython開発
  3.スクリプト・モードによるIronPython開発
 
  Visual StudioでIronPython開発
    1.IronPython開発環境のVisual Studio統合
    2.Visual Studioを活用したIronPython開発(コンソール・アプリケーション)
    3.Visual Studioを活用したIronPython開発(Windowsアプリケーション)


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間