単純な実行

2010年2月21日

ファイル

02-simple.tar.gz

内容

C から Python のコードを実行する単純な方法は、PyRun_SimpleString() を使うものです。

	Py_Initialize();

	printf(">>> ");
	while(fgets(buffer, sizeof(buffer), stdin)){
		PyRun_SimpleString(buffer);
		printf(">>> ");
	}

	Py_Finalize();

上のプログラムは、キーボードから文字列を一行読み取り、それをそのまま PyRun_SimpleString() に渡すことで、入力した文字列を Python のコードとして実行しています。それっぽく見えるようにプロンプトを表示しています。Py_Initialize() は Python の初期化を行う関数、Py_Finalize() は Python の終了処理を行う関数です。

コンパイルして実行してみましょう。

$ make
$ ./simple.exe
>>> a = 1
>>> print a
1
>>> print a + 2
3
>>> import math
>>> print math.sqrt(a + 2)
1.73205080757

ふつうに Python してます。

C で Python を使う 目次へ