266:ファイルをPythonスクリプトとしてロードする
execfile 関数を用います。現在のスコープで実行されます。
# hello.txt
def hello():
return 'Hello World.'
>>> execfile('hello.txt')
>>> hello()
'Hello World.'
閉じた環境を用意する場合、 globals 第 2 引数、 locals 第 3 引数に名前空間代わりとなる辞書を渡します。
>>> G = {}
>>> L = {}
>>> execfile('hello.txt', G, L)
>>> hello()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'hello' is not defined
>>> L['hello']()
'Hello World.'