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 -
del
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.
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.
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