何らかのユーザ定義関数で何度もエラーが発生し、デバッグしたいときがあります。メインプログラムでエラーが発生した場合は、エラー後に変数を保持するために-i
フラグを使用できます。しかし、ユーザー定義関数でエラーが発生した場合、関数のローカル変数にアクセスする方法はありません。 PythonインタープリタをPythonコードで開き、stdin
のコードを受け入れ、stdout
に出力する方法がありますか?このような何か: -Pythonコードを使用してPythonコードをローカル変数で実行する
def foo():
x = 'Inside foo()'
run_interpreter() # Pauses for input
foo()
我々はstdin
を通じて、以下の入力を与えることができる必要があります: -
print(x) # prints 'Inside foo()'
exit() # exits interpreter and resumes other code
グローバル変数でローカル変数を宣言すると、グローバル名前空間が不必要に汚染される –