ファイルがあるとします
# func.py:
def function():
print 'Hello'
print 'World'
そして、同じディレクトリに別のファイルがあります
# load.py:
import sys
import inspect
from func import function
次の方法で関数のソースにアクセスできるようになりました。
code = inspect.getsourcelines(sys.modules['function'])
とにかく、関数の行を編集して、印刷する場合に作成できるものはありますか:
「Hello World」ではなく「Hello There World」?
関数をその場で編集して、これをすべてメモリ内で実行したいと思います。現在、ソースを読み取って一時ファイルに書き出すときに編集し、一時ファイルをインポートすることで同じ効果を達成していますが、外部ファイルは完全に避けたいと思います。