twitter facebook

Pythonで文字列をプログラムとして実行

Pythonで文字列をプログラムとして実行する方法を紹介します。

1行の文字列をプログラムとして実行する場合。

str = "print('hoge')"
exec(str)
hoge

複数行の文字列をプログラムとして実行する場合。

str = """
print('hoge1')
print('hoge2')
"""

exec(str)
hoge1 hoge2

外部ファイルを文字列として読み込み、プログラムとして実行する場合。

c:/test.txt 呼び出される外部プログラム
print('hoge3')
print('hoge4')
実行するプログラム
file = 'c:/test.txt'
f = open(file, 'r', encoding='utf-8')
str = f.read()
f.close()
exec(str)
hoge3 hoge4
以下のようなエラーがでた場合。は test.txt に BOMがついてる可能性がありますので、ファイル保存時に、UTF-8BOM無し で保存しましょう。
File "<string>", line 1 SyntaxError: invalid character in identifier
AUTHOR
@hiropon
最終更新日 2018/09/18
FAVORITE good stock
LINK TAG
記法を見る