spyder - очистить переменную explorer вместе с переменными из памяти

Чтобы очистить консоль, мы можем использовать следующую команду:

import subprocess as sp
tmp = sp.call('cls',shell=True)

Однако, чтобы удалить переменную из памяти, мы часто полагаемся -

  • использование команды del
  • удаление переменной вручную с помощью раскрывающегося меню в проводнике переменных

Но оба они являются переменными и, следовательно, отнимают много времени. Итак, есть ли какая-либо общая команда (например, clear под MATLAB), чтобы удалить переменную из памяти, а затем из Spyder Variable Explorer.

Ответ 1

В Spyder выполните следующие действия:
Бег
Конфигурация на файл...
Очистить все переменные перед выполнением [Выбрать флажок]

Это фактически очищает переменные от предыдущего запуска файла. Надеюсь, поможет.

enter image description here

Ответ 2

Перейдите в консоль IPython в IDE Spyder и введите% reset. Он предложит вам ввести (y/n), так как не удастся извлечь переменные после их удаления. Введите 'y' и нажмите enter. Это.

Ответ 3

Занимаясь серфингом в интернете, я нашел хак для решения надоедливой проблемы очистки проводника переменных каждый раз, когда вы захотите снова выполнить скрипт:

def clear_all():
    """Clears all the variables from the workspace of the spyder application."""
    gl = globals().copy()
    for var in gl:
        if var[0] == '_': continue
        if 'func' in str(globals()[var]): continue
        if 'module' in str(globals()[var]): continue

        del globals()[var]
if __name__ == "__main__":
    clear_all()
    # insert here your code

По сути, он состоит из выполнения функции clear_all() непосредственно перед всем остальным. Он пишет одну и ту же функцию Matlab. Здесь ссылка на проблему git, где было предложено решение.

Ответ 4

Как объяснено в ответе, предоставленном Караном Кау, есть настройка для удаления всех переменных, независимо от сценария, над которым вы работаете.

Сделайте следующее (из выпадающего меню)

> Tools > Preferences > Run

и установите флажок Remove all the variables before execution в разделе General Setting. При этом я использую Spyder 3.3.4.

Это завершение может быть в порядке, если вы хотите, чтобы все сценарии, над которыми вы работаете, выполнялись с превентивным удалением всех переменных. Надеюсь, поможет