この章の関数を使うとファイルまたはバッファにあるPythonソースコードを 実行できますが、より詳細なやり取りをインタプリタとすることはできないでしょう。
これらの関数のいくつかは引数として文法の開始記号を受け取ります。 使用できる開始記号はPy_eval_inputとPy_file_input、 Py_single_inputです。開始期号の説明はこれらを引数として取る 関数の後にあります。
これらの関数のいくつかがFILE*引数をとることにも注意してください。 注意深く扱う必要がある特別な問題には、異なるCライブラリのFILE構造体は 異なっていて互換性がない可能性があるということが関係しています。 実際に(少なくとも)Windowsでは、動的リンクされる拡張が異なるライブラリを 使うことが可能であり、したがって、FILE*引数がPythonランタイムが 使っているライブラリと同じライブラリによって作成されたことが確かならば、 単にこれらの関数へ渡すだけということに注意すべきです。
int argc, char **argv) |
1
、あるいは、
引数リストが有効なPythonコマンドラインになっていない場合は2
です。
FILE *fp, const char *filename) |
0
に、flags を NULLにして単純化したインタフェースです。
FILE *fp, const char *filename, PyCompilerFlags *flags) |
0
にして単純化したインタフェースです。
FILE *fp, const char *filename, int closeit) |
FILE *fp, const char *filename, int closeit, PyCompilerFlags *flags) |
"???"
を使います。
const char *command) |
const char *command, PyCompilerFlags *flags) |
0
を返し、また例外が発生した場合は-1
を
返します。エラーがあっても、例外情報を得る方法はありません。
FILE *fp, const char *filename) |
0
に、flags を NULLにして単純化したイ
ンタフェースです。
FILE *fp, const char *filename, PyCompilerFlags *flags) |
0
にして単純化したインタフェースです。
FILE *fp, const char *filename, int closeit) |
FILE *fp, const char *filename, int closeit, PyCompilerFlags *flags) |
FILE *fp, const char *filename) |
FILE *fp, const char *filename, PyCompilerFlags *flags) |
"???"
が代わりに使われます。
sys.ps1
とsys.ps2
を使って、ユーザにプロンプトを提示します。
入力が正常に実行されたときは0
を返します。例外が発生した場合は
-1
を返します。パースエラーの場合はPythonの一部として配布されている
errcode.hインクルードファイルにあるエラーコードを返します。
(Python.hはerrcode.hをインクルードしません。したがって、
必要ならば特別にインクルードしなければならないことに注意してください。)
FILE *fp, const char *filename) |
0
にして単純化したインタフェースです。
FILE *fp, const char *filename, PyCompilerFlags *flags) |
"???"
が代わりに
使われます。sys.ps1
とsys.ps2
を使って、ユーザにプロンプトを
提示します。EOFに達すると0
を返します。
const char *str, int start) |
0
にして単純化したイ
ンタフェースです。
const char *str, int start, int flags) |
const char *str, const char *filename, int start, int flags) |
FILE *fp, const char *filename, int start) |
0
にして単純化したインタフェースです。
FILE *fp, const char *filename, int start, int flags) |
const char *str, int start, PyObject *globals, PyObject *locals) |
const char *str, int start, PyObject *globals, PyObject *locals, PyCompilerFlags *flags) |
コードを実行した結果をPythonオブジェクトとして返します。または、 例外が発生したならばNULL を返します。
FILE *fp, const char *filename, int start, PyObject *globals, PyObject *locals) |
0
にし、
flags をNULLにして単純化したインタフェースです。
FILE *fp, const char *filename, int start, PyObject *globals, PyObject *locals, int closeit) |
FILE *fp, const char *filename, int start, PyObject *globals, PyObject *locals, PyCompilerFlags *flags) |
0
にし
て単純化したインタフェースです。
FILE *fp, const char *filename, int start, PyObject *globals, PyObject *locals, int closeit, PyCompilerFlags *flags) |
const char *str, const char *filename, int start) |
const char *str, const char *filename, int start, PyCompilerFlags *flags) |
int flags
として渡されます。コードを実
行する場合にはPyCompilerFlags *flags
として渡されます。この場合、
from __future__ import
は flags の内容を変更できます。
PyCompilerFlags *flags
がNULLの場合、 cf_flags
は 0
として扱われ、from __future__ import
による変更は
無視されます。
struct PyCompilerFlags { int cf_flags; }
/
は
PEP 238 による 「真の除算 (true division)」 として扱われます。