Je sais qu'il existe un sujet similaire sur la console python, mais je ne sais pas si c'est la même chose. J'ai essayé system("clear") et cela n'a pas fonctionné ici.
Comment effacer la fenêtre IDLE de python ?
Je sais qu'il existe un sujet similaire sur la console python, mais je ne sais pas si c'est la même chose. J'ai essayé system("clear") et cela n'a pas fonctionné ici.
Comment effacer la fenêtre IDLE de python ?
Les commandes "cls" et "clear" permettent d'effacer un terminal (c'est-à-dire une invite DOS ou une fenêtre de terminal). D'après votre capture d'écran, vous utilisez le shell dans IDLE, qui ne sera pas affecté par de telles choses. Malheureusement, je ne pense pas qu'il existe un moyen d'effacer l'écran dans IDLE. Le mieux que vous puissiez faire est de faire défiler l'écran vers le bas sur plusieurs lignes, par exemple :
print ("\n" * 100)
Mais vous pourriez mettre cela dans une fonction :
def cls(): print ("\n" * 100)
Et l'appeler en cas de besoin comme cls()
Il efface l'écran, mais vous obtenez toujours l'invite ">>>"à la dernière ligne plutôt qu'en haut, ce qui, je suppose, le rend moins inefficace ... toujours +1 pour l'effacement de l'écran.
Python 3.4.2 - J'ai dû encaser " \n " et * 100 entre parenthèses, donc : print ("\n" * 100)
Le os.system('CLS') fonctionne sous Windows. (Python 2.6). L'écran résultant est effacé, montrant seulement un "0", qui je suppose est la valeur de retour pour CLS, en haut. La ligne suivante présente l'invite >>>.
Cela ne fonctionne pas dans le shell tkinter de Windows Idle, bien que cela fonctionne probablement dans la ligne de commande.
La plupart des réponses, ici, font de l'effacement de l'écran d'invite DOS, l'effacement des commandes, ce qui n'est pas la question. D'autres réponses imprimaient des lignes vides pour montrer un effet d'effacement de l'écran.
La réponse la plus simple à cette question est
Il n'est pas possible de vider le shell IDLE de python sans intégrer un module externe. Si vous voulez vraiment obtenir un shell vierge, il suffit de fermer le shell précédent et de le relancer.
Voici une bonne réponse, directe et pratique, à cette question : fermez idle, laissez le fichier ouvert, exécutez à nouveau le fichier et idle a maintenant un nouvel écran.
@Mike_K, cela peut être utile, mais pas toujours. Actuellement, j'ai un écran divisé (un livre <|> idle). Lorsque je réexécute l'idle, le nouvel écran arrive dans la position/dimensions par défaut. Donc, cela va devenir très ennuyeux.
Une extension pour effacer l'obus peut être trouvée dans Numéro 6143 comme une "demande de fonctionnalité". Cette extension est incluse dans IdleX .
La façon d'exécuter des commandes dans Python 2.4+ est d'utiliser la commande sous-processus module. Vous pouvez l'utiliser de la même manière que vous utilisez le module os.system
.
import subprocess
subprocess.call("clear") # linux/mac
subprocess.call("cls", shell=True) # windows
Si vous exécutez cette opération dans la console python, vous devrez faire quelque chose pour masquer la valeur de retour (pour l'un ou l'autre des éléments suivants os.system
o subprocess.call
), comme l'assigner à une variable :
cls = subprocess.call("cls", shell=True)
Traceback (dernier appel le plus récent) : File "<pyshell#1>", line 1, in <module> subprocess.call("cls") File " C:\Python26\lib\subprocess.py ", ligne 444, dans call return Popen(*popenargs, **kwargs).wait() Fichier " C:\Python26\lib\subprocess.py ", ligne 595, dans init errread, errwrite) Fichier " C:\Python26\lib\subprocess.py ", ligne 804, dans _execute_child startupinfo) WindowsError : [Erreur 2] Le système ne trouve pas le fichier spécifié.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
12 votes
Ce n'est pas un doublon, le PO demande comment effacer le shell IDLE, pas la console.
2 votes
La raison pour laquelle cela ne fonctionne pas est que Python lance une nouvelle session shell et exécute la commande
clear
là-dedans. Cela explique aussi pourquoicd
ne fonctionne pas danssystem.os
.19 votes
Maintenez la pression
ctrl + j
pendant un moment, puis appuyez sur la touche entrée, ce sera la meilleure façon1 votes
@ytpillai, Ah, mais cela me donne l'invite en bas. Une solution, sans doute, mais qui cause tout de même quelques désagréments.
0 votes
Ce n'est pas une solution, mais pour toute personne curieuse, la
EditorWindow
que l'extension IDLEX utilise pour effacer la console semble être accessible dans IDLE en utilisant (à l'invite)inspect.currentframe().f_back.f_locals['self'].rpchandler.console
mais tout ce qui implique letext
L'attribut verrouille la console donc ça n'aide pas beaucoup.0 votes
La tortue peut effacer l'écran. t = turtle.Turtle() t.clear()