Как очистить переменные в ipython?


иногда я перезапускаю скрипт в том же сеансе ipython, и я получаю плохие сюрпризы, когда переменные не были очищены. Как очистить все переменные? И можно ли заставить это как-то каждый раз, когда я вызываю волшебную команду %run?

спасибо

6 92

6 ответов:

%reset кажется, чтобы очистить определенные переменные.

отредактировано после комментария @ErdemKAYA.

стереть переменную, используйте волшебную команду:

%reset_selective <regular_expression>

переменные, которые удаляются из пространства имен, совпадают с заданным <regular_expression>.

%reset_selective -f a 

будут удалены все переменные, содержащие a.

вместо этого, чтобы стереть только 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 вы можете удалить a один переменной, как это:

del x

пробовал

%reset -f

и очистил все переменные и содержимое без подсказки. -f действует ли сила на данную команду без запроса да/нет.

желаю, чтобы это помогло.. :)

добавление следующих строк в новый скрипт очистит все переменные при каждом повторном запуске скрипта:

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

чтобы сделать жизнь проще, вы можете добавить их в свой шаблон по умолчанию.

В Spyder:Tools>Preferences>Editor>Edit template

опция quit на панели консоли также очистит все переменные в обозревателе переменных

*** обратите внимание, что вы потеряете весь код, который вы запустили в панели консоли