web-dev-qa-db-fra.com

spyder - effacer l'explorateur de variables avec les variables de la mémoire

Pour effacer la console, nous pouvons utiliser la commande suivante -

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

Cependant, pour supprimer une variable de la mémoire, nous nous appuyons souvent sur -

  • en utilisant la commande del
  • suppression manuelle d'une variable à l'aide du menu déroulant de l'explorateur de variables

Mais les deux sont spécifiques aux variables et donc chronophages. Existe-t-il une commande générale (comme clear sous MATLAB) pour supprimer une variable de la mémoire et par la suite de l'explorateur de variables de Spyder.

11
dataLeo

Surfer sur le web, j'ai trouvé un hack pour résoudre le problème ennuyeux de la suppression de l'explorateur de variables à chaque fois que vous souhaitez exécuter à nouveau un script:

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

Fondamentalement, il consiste à exécuter la fonction clear_all() juste avant tout le reste. C'est écrire par vous-même la même fonction de Matlab. Ici le lien vers le problème git où la solution a été proposée.

0
Leos313

Comme expliqué dans la réponse fournie par Karan Kaw , il existe un paramètre pour supprimer toutes les variables, quel que soit le script sur lequel vous travaillez.

Procédez comme suit (dans la barre déroulante)

> Tools> Preferences> Run

et vérifiez le Remove all the variables before execution case à cocher dans le General Setting section. Pour ce faire, j'utilise Spyder 3.3.4.

Cette complétion peut être en ordre si vous souhaitez que tous les scripts sur lesquels vous travaillez soient exécutés avec la suppression préventive de toutes les variables. J'espère que ça aide

0
Matteo Zambra