J'essaye d'écrire un programme de Python qui suit les prix du marché boursier et le renvoie à l'utilisateur actualisant la même ligne par stderr, c'est une version simplifiée du code (utilisé juste pour vérifier que le programme faisait quelque chose):Mise à jour des lignes dans le terminal tout en faisant d'autres choses sur le dernier en Python?
import random
import schedule
import time
import sys
def printran():
a = "\rFirst Line is: " + str(random.randint(1,10))
sys.stderr.write(a)
schedule.every(2).seconds.do(printran)
while True:
schedule.run_pending()
time.sleep(1)
Mes problèmes sont les suivants:
a) Comment puis-je "rafraîchir" la sortie de la console sur plusieurs lignes?
J'ai essayé des choses comme:
a = "\rFirst Line is: " + str(random.randint(1,10)) + "\n\rSecond Line is: " + str(random.randint(2,20))
mais la sortie est un gâchis et, évidemment, la commande \ n sera toujours générer une nouvelle ligne
b) puisque la fonction while ne se termine pas vraiment que je ne peux pas faire d'autres choses, dois-je utiliser multithreading? C) trouver une solution aussi facile que possible, facile à utiliser et autonome sur le système d'exploitation (doit fonctionner sous Linux, OSX, Win).