Pythonで文字列をプログラムとして実行
Pythonで文字列をプログラムとして実行する方法を紹介します。
1行の文字列をプログラムとして実行する場合。
str = "print('hoge')"
exec(str)
複数行の文字列をプログラムとして実行する場合。
str = """
print('hoge1')
print('hoge2')
"""
exec(str)
外部ファイルを文字列として読み込み、プログラムとして実行する場合。
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)
以下のようなエラーがでた場合。は test.txt に BOMがついてる可能性がありますので、ファイル保存時に、UTF-8 の BOM無し で保存しましょう。
File "<string>", line 1
SyntaxError: invalid character in identifier