[python] Есть ли способ , чтобы удалить созданные переменные, функции и т.д. из памяти переводчика?


Answers

Да. Существует простой способ, чтобы удалить все, что в IPython. В IPython консоли, введите:

%reset

Затем система попросит вас подтвердить. Пресс-у. Если вы не хотите видеть эту подсказку, просто наберите:

%reset -f

Это должно работать ..

Question

Я искал для точного ответа на этот вопрос в течение нескольких дней, но сейчас ничего хорошего нет. Я не полный новичок в программировании, но пока даже не на промежуточном уровне.

Когда я нахожусь в оболочке Python, я печатаю: dir() и я могу видеть все имена всех объектов в текущей области (основной блок), есть 6 из них:

['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']

Потом, когда я объявляю переменную, например , x = 10 , то он автоматически добавляет , что список объектов под встроенный модуль dir() , и когда я печатаю dir() еще раз, теперь он показывает:

['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'x']

То же самое касается функций, классов и так далее.

Как удалить все эти новые объекты без стирания стандарта 6, который, где доступен в начале?

Я читал здесь о «чистке памяти», «очистке консоли», которая стирает весь текст из окна командной строки:

>>> import sys
>>> clear = lambda: os.system('cls')
>>> clear()

Но все это не имеет ничего общего с тем, что я пытаюсь достичь, это не вычистить все используемые объекты.




Если вы находитесь в интерактивной среде , как Jupyter или ipython вы можете быть заинтересованы в освобождении нежелательного вара, если они становятся тяжелыми.

Магическая-команда reset и reset_selective средства доступно на интерактивном питон сессии , как ipython и Jupyter

1) reset

reset Сбрасывает имен, удалив все имена , определенные пользователем, если вызывается без аргументов.

in и out параметров указать , хотите ли вы , чтобы потопить в / из кэшей. История каталогов смывается с dhist параметром.

reset in out

Еще один интересный один array , который удаляет только Numpy Массивы:

reset array

2) reset_selective

Сброс имен путем удаления имен, определенных пользователем. Входные данные История / вывода осталось вокруг в случае, если вы нуждаетесь в них.

Чистый Пример массива:

In [1]: import numpy as np
In [2]: littleArray = np.array([1,2,3,4,5])
In [3]: who_ls
Out[3]: ['littleArray', 'np']
In [4]: reset_selective -f littleArray
In [5]: who_ls
Out[5]: ['np']

Источник: http://ipython.readthedocs.io/en/stable/interactive/magics.html




Links