Seite 1 von 1

Text ohne Zeilenumbruch ausgeben

Verfasst: Mittwoch 8. Dezember 2021, 12:33
von dagobert666
Hallo zusammen,

ich habe eine Frage zur Textausgabe ohne "neue Zeile".
Der Übersichtlichkeit wegen würde ich gerne zuerst einen Text ausgeben, dann weiteren Code abarbeiten und dann in der gleichen Zeile den Abschluss anzeigen.
So z.B.:
Vorgang 1 gestartet........ Erfolgreich abgeschlossen.

Hier mein letzte Versuch:

Code: Alles auswählen

       print("Vorgang 1 gestartet....    ", end = "")
       time.sleep(6)                                                # Platzhalter für anderen Code 
       print ("Erfolgreich abgeschlossen")
Leider wird der gesamte Text erst mit dem letzten print ausgegeben und nicht erst der erste Text, dann der weitere Code abgearbeitet und dann der letzte Text. (In der gleichen Zeile)
Kann man das irgendwie anders lösen?

Vielen Dank

Re: Text ohne Zeilenumbruch ausgeben

Verfasst: Mittwoch 8. Dezember 2021, 12:35
von __deets__
Das liegt an deinem Terminal. Aus Gruenden der Effizienz schreibt das nur ganze Zeilen. Du kannst das wahrscheinlich mit sys.stdout.flush() beeinflussen, oder gleich ein spezialisiertes Paket fuer Text-UIs wie ncurses oder urwid benutzen.

Re: Text ohne Zeilenumbruch ausgeben

Verfasst: Mittwoch 8. Dezember 2021, 14:28
von Sirius3
Dafür gibt es das flush-Argument:

Code: Alles auswählen

print("Vorgang 1 gestartet....    ", end = "", flush=True)

Re: Text ohne Zeilenumbruch ausgeben

Verfasst: Freitag 10. Dezember 2021, 07:29
von dagobert666
Sirius3 hat geschrieben: Mittwoch 8. Dezember 2021, 14:28 Dafür gibt es das flush-Argument:

Code: Alles auswählen

print("Vorgang 1 gestartet....    ", end = "", flush=True)
Darf man sich bedanken?
Danke! :)