Partage
  • Partager sur Facebook
  • Partager sur Twitter

[question] clear dans python ?

peut-on éffacer le contenu de notre programme comme sur un bash ?

8 août 2015 à 3:00:02

Bonjour,

Je suis débutant sur python, je crée en ce moment un genre de shell en python, j'aimerais savoir s'il est possible d’effacer le contenu de ce qui est écris dans le programme, je m'explique :

je voudrais un programme qui dit que lorsqu'on tape la commande 'clear' cela efface tout ce qu' y a été écris depuis le lancement du programme, comme lorsqu'on tape la commande 'clear' sur un bash. 

print("ce texte doit être effacé")

prompt = input(">>> ")

if prompt == 'clear':
  #commande qui va tout effacer



y a-t'il une commande ou un module dédié à cette fonction ?

j'ai fais beaucoup de recherches sur google mais rien ne marche...:colere2:

je ne sait pas si cela est possible mais cela m'aiderait grandement car au bout d'un moment s'il y a trop de texte cela devient un problème... (au fait je suis sous linux au cas ou )

Merci d'une réponse, même si ce n'est pas du tout pressé :).

-
Edité par Penguin Army 8 août 2015 à 6:35:11

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
8 août 2015 à 10:21:28

Le module subprocess permet d'exécuter des commandes du système :

from sys import platform as _platform
import subprocess

if input('cmd> ').strip().lower() in ('clear', 'cls'):
    if _platform == 'win32':
        subprocess.call('cls', shell=True)
    else:
        subprocess.call('clear', shell=True)

Mais tu auras aussi bien fait d'afficher simplement autant de saut de ligne que de ligne visible dans ton terminal :

from os import get_terminal_size

if input('cmd> ').strip().lower() in ('clear', 'cls'):
    print('\n' * get_terminal_size()[1])
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
8 août 2015 à 11:09:28

@celthon, pourquois'embeter pour rien ?

un simple :

import os

os.system('cls') #pour Windows
os.system('clear') #pour linux

suffira !

  • Partager sur Facebook
  • Partager sur Twitter