Juste une petite question:
Comment effacez-vous l'écran en shell? J'ai déjà vu des méthodes telles que:
import os
os.system('cls')
Cela ouvre simplement la fenêtre de commande windows, efface l'écran et ferme mais Je veux que la fenêtre Shell soit effacée
(PS: Je ne sais pas si ça aide, mais j'utilise la version 3.3.2 de Python)
Je vous remercie :)
Pour OS X, vous pouvez utiliser le module de sous-processus et appeler «cls» à partir de Shell:
import subprocess as sp
sp.call('cls',Shell=True)
Pour éviter que "0" n'apparaisse en haut de la fenêtre, remplacez la 2ème ligne par:
tmp = sp.call('cls',Shell=True)
Pour linux, vous devez remplacer la commande cls
par clear
tmp = sp.call('clear',Shell=True)
Qu'en est-il du raccourci CTRL+L?
Cela fonctionne pour tous les obus, par exemple Python, Bash, MySQL, MATLAB, etc.
import os
os.system('cls') # For Windows
os.system('clear') # For Linux/OS X
Le type de chose que vous recherchez se trouve dans le module curses.
c'est à dire.
import curses # Get the module
stdscr = curses.initscr() # initialise it
stdscr.clear() # Clear the screen
La chose importante à retenir est qu'avant toute sortie, vous devez réinitialiser le terminal en mode normal, ceci peut être fait avec les lignes suivantes:
curses.nocbreak()
stdscr.keypad(0)
curses.echo()
curses.endwin()
Si vous ne le faites pas, vous aurez toutes sortes de comportements étranges. Pour que cela soit toujours fait, je suggérerais d'utiliser le module atexit, quelque chose comme:
import atexit
@atexit.register
def goodbye():
""" Reset terminal from curses mode on exit """
curses.nocbreak()
if stdscr:
stdscr.keypad(0)
curses.echo()
curses.endwin()
Sera probablement bien faire.
En plus d'être une excellente bibliothèque CLI polyvalente, click
fournit également une fonction clear()
fonction:
import click
click.clear()
en utilisant windows 10 et pyhton3.5 j’ai testé de nombreux codes et rien ne m’a aidé plus que cela:
Tout d’abord, définissez une fonction simple, cette fonction imprimera 50 nouvelles lignes (le nombre 50 dépendra du nombre de lignes que vous pouvez voir sur votre écran, vous pouvez donc modifier ce nombre)
def cls(): print ("\n" * 50)
puis appelez-le autant de fois que vous le souhaitez ou avez besoin
cls()
Voici quelques options que vous pouvez utiliser sous Windows
Première option:
import os
cls = lambda: os.system('cls')
>>> cls()
Deuxième option:
cls = lambda: print('\n' * 100)
>>> cls()
Troisième option si vous êtes dans la fenêtre Python REPL:
Ctrl+L
Si vous utilisez un terminal linux pour accéder à python, ctrl + l est la meilleure solution pour effacer l'écran.
Un moyen plus simple d'effacer un écran en Python consiste à utiliser Ctrl + L bien que cela fonctionne pour le Shell, ainsi que d'autres programmes.
Command+K
fonctionne correctement sous OSX pour effacer l'écran.
Shift+Command+K
pour effacer uniquement le tampon de défilement.
os.system('cls')
fonctionne bien lorsque je les ouvre. Il s'ouvre dans le style cmd.
Le sous-processus vous permet d’appeler "cls" pour Shell.
import subprocess
cls = subprocess.call('cls',Shell=True)
C'est aussi simple que je peux le faire. J'espère que ça marche pour toi!
import curses
stdscr = curses.initscr()
stdscr.clear()
vous pouvez utiliser Windows ou Linux Os
import os
os.system('cls')
os.system('clear')
vous pouvez utiliser le module de sous-processus
import subprocess as sp
x=sp.call('cls',Shell=True)
J'utilise une classe qui utilise simplement l'une des méthodes ci-dessus en coulisse ... J'ai remarqué que cela fonctionne sous Windows et Linux ... J'aime bien l'utiliser car il est plus facile de taper clear () à la place de system ('clear' ) ou os.system ('clear')
pip3 install clear-screen
from clear_screen import clear
et puis quand vous voulez effacer le shell:
clear()