Иногда я повторно запускаю сценарий в том же сеансе ipython и получаю неприятные сюрпризы, когда переменные не были очищены. Как очистить все переменные? И можно ли как-то заставить это работать каждый раз, когда я вызываю волшебную команду% run?
Благодарность
%
используется для магических команд ipython здесь%reset
ipython.readthedocs.io/en/stable/interactive/…ИЗМЕНЕНО после комментария @ErdemKAYA.
Чтобы стереть переменную, используйте волшебную команду:
Переменные, которые удаляются из пространства имен, совпадают с заданными
<regular_expression>
.Следовательно
сотрет все переменные, содержащие
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/ для руководства по регулярным выражениям.Чтобы стереть все переменные в пространстве имен, см .:
источник
name_variable
как выражение регулярного выражения и удалит все, что ей соответствует.В iPython вы можете удалить одну переменную следующим образом:
del x
источник
Я старался
и очистил все переменные и содержимое без запроса.
-f
выполняет принудительное действие по данной команде без запроса на да / нет .Желаю, чтобы это помогло .. :)
источник
Добавление следующих строк в новый скрипт будет очищать все переменные каждый раз при повторном запуске скрипта:
from IPython import get_ipython get_ipython().magic('reset -sf')
Чтобы упростить жизнь, вы можете добавить их в свой шаблон по умолчанию.
В Spyder:
Tools>Preferences>Editor>Edit template
источник
Помимо упомянутых ранее методов. Вы также можете использовать команду del для удаления нескольких переменных
del variable1,variable2
источник
Параметр выхода на панели консоли также очищает все переменные в проводнике переменных.
*** Обратите внимание, что вы потеряете весь код, который вы запускали в панели консоли.
источник