Sur-imprimer du texte

Srytx Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
Srytx Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Salutations, je suis débutant en python, et j'aurais aimer savoir si il était possible de imprimer sur du texte déjà existant.
J'aimerais notamment vis ce code :

def delay_print(s):
for c in s:
sys.stdout.write(c)
sys.stdout.flush()
time.sleep(0.25)


Imprimer du texte dans un cadre imprimer au préalable :

print("┌-----------------------------------------------------------------------------┐")
print("│ │")
print("│ │")
print("│ │")
print("│ │")
print("│ │")
print("│ │")
print("│ │")
print("│ │")
print("│ │")
print("│ │")
print("│ │")
print("│ │")
print("│ │")
print("│ │")
print("│ │")
print("│ │")
print("│ │")
print("│ │")
print("│ │")
print("│ │")
print("│ │")
print("│ │")
print("└-----------------------------------------------------------------------------┘")


J'espère que vous pourrez m'éclairer sur ce sujet, et je vous en remercie d'avance !
A voir également:

1 réponse

quent217 Messages postés 420 Date d'inscription   Statut Membre Dernière intervention   347
 
Bonjour,
les consoles sont faites normalement pour écrire les caractères les uns à la suite des autres normalement, mais il existe des solutions dans certains cas.
Déjà il existe le caractère \b qui permet de revenir en arrière d'un cran et le caractère \r qui permet de revenir au début de la ligne (sans passer à la ligne suivante).
Vous pouvez donc faire quelque chose comme ça :
import sys
import time
sys.stdout.write("abc")
sys.stdout.flush()
time.sleep(1)
print("\rdef")

Par contre ça ne fonctionne que pour réécrire sur la dernière ligne, on ne peut pas réécrire plusieurs ligne au dessus avec cette méthode.

Sinon vous pouvez aussi vous renseigner sur l'utilisation du module curses qui permet de manipuler les terminaux Linux compatibles (je ne sais pas s'il existe un module équivalent pour Windows) en envoyant des caractères spéciaux de controle . Vous pouvez faire beaucoup de choses avec ce module, comme déplacer le curseur où vous le souhaitez, changer la couleur du texte, etc.
Voici un exemple d'utilisation :
import sys
import time
import curses
curses.setupterm()
print("abc")
time.sleep(1)
print("def")
time.sleep(1)
move = curses.tparm(curses.tigetstr("cuu"), 2)
sys.stdout.buffer.write(move)
print("ghi")
time.sleep(1)
print("jkl")
0
Srytx Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Je mettais renseigner sur l'utilisation de curses, mais sans succès. Etant sous windows, je vais donc simplement abandonner l'idée d'animer mon texte.
Merci pour votre aide !
0