同じipythonセッション内でスクリプトを再実行したときに、変数がクリアされていないと、予期しない結果になります。すべての変数をクリアする方法また、%runという魔法のコマンドを実行するたびにこれを強制的に実行することは可能ですか?
ありがとう
%reset
は定義された変数を消去するようです。
@ErdemKAYAコメントの後にEDITED。
変数を消去するには、magicコマンドを使います。
%reset_selective <regular_expression>
名前空間から消去される変数は、指定された<regular_expression>
に一致するものです。
だから
%reset_selective -f a
alla
を含む変数を消去します。
代わりに、a
ではなくaa
のみを消去します。
In: a, aa = 1, 2
In: %reset_selective -f "^a$"
In: a # raise NameError
In: aa # returns 2
その他の例については%reset_selective?
を、正規表現のチュートリアルについては https://regexone.com/ を参照してください。
名前空間内のすべての変数を消去するには、以下を参照してください。
%reset?
IPythonでは、次のようにsingle変数を削除できます。
del x
私は試した
%reset -f
プロンプトなしですべての変数と内容をクリアしました。 -f
は、yes/noを要求せずに、指定されたコマンドに対して強制アクションを実行します。
これが役立つことを願います.. :)
新しいスクリプトに次の行を追加すると、スクリプトを再実行するたびにすべての変数が消去されます。
from IPython import get_ipython
get_ipython().magic('reset -sf')
作業を楽にするために、それらをデフォルトのテンプレートに追加できます。
スパイダー内:Tools>Preferences>Editor>Edit template
前述の方法とは別に。 delコマンドを使って複数の変数を削除することもできます。
del variable1,variable2
コンソールパネルの終了オプションは、変数エクスプローラのすべての変数もクリアします
***コンソールパネルで実行したすべてのコードを失うことになるので注意してください。