web-dev-qa-db-ja.com

ipythonで変数を消去する方法

同じipythonセッション内でスクリプトを再実行したときに、変数がクリアされていないと、予期しない結果になります。すべての変数をクリアする方法また、%runという魔法のコマンドを実行するたびにこれを強制的に実行することは可能ですか?

ありがとう

108
grasshopper

%resetは定義された変数を消去するようです。

163
aisbaa

@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?
46
SeF

IPythonでは、次のようにsingle変数を削除できます。

del x
23
Joop

私は試した

%reset -f

プロンプトなしですべての変数と内容をクリアしました。 -fは、yes/noを要求せずに、指定されたコマンドに対して強制アクションを実行します。

これが役立つことを願います.. :)

10
Babu K.M.

新しいスクリプトに次の行を追加すると、スクリプトを再実行するたびにすべての変数が消去されます。

from IPython import get_ipython
get_ipython().magic('reset -sf') 

作業を楽にするために、それらをデフォルトのテンプレートに追加できます。

スパイダー内:Tools>Preferences>Editor>Edit template

5
Carl

前述の方法とは別に。 delコマンドを使って複数の変数を削除することもできます。

del variable1,variable2
1
Devarshi Mandal

コンソールパネルの終了オプションは、変数エクスプローラのすべての変数もクリアします

***コンソールパネルで実行したすべてのコードを失うことになるので注意してください。

0
Sirish