Pythonで文字列をスクリプトとして実行する:eval(), exec()

Pythonのeval(), exec()を使って、文字列をスクリプトとして実行する方法について説明します。

evalの使用例

eval()の引数に実行したい「式」を文字列として渡すと、その実行結果が戻り値として返されます。

eval()が受け付けるのは「式」のみなので、次のように「文」を含んだ文字列は実行できません。

exec()の使用例

exec()は Python 2.x では「文」、3.x では「関数」となっています。ここでは Python 2.xでの使い方を解説します。

前述の eval()で実行できるのは式だけでしたが、exec()は文を実行することができます。上の例では代入文を実行して、変数xを宣言しています。

また文字列を渡すだけではなく、ファイルオブジェクトを渡すことも可能です。例えば、以下のようなブログラム(hello.py)があったとします。

このファイルを読み込んで実行することができます。

スクリプトの中で他のスクリプトを呼び出す場合などに利用できます。


Welcome to UX MILK

UX MILKはより良いサービスやプロダクトを作りたい人のためのメディアです。

このサイトについて

購読

平日・毎朝更新中