Ich hab mal eine Frage, ob es sowas wie ein "Erweitertes print" gibt.
1.Mich würde interessieren, ob man z.B. die Schriftfarbe ändern kann.
2.Gibt es eine Möglichkeit ein "print" zu updaten? D.h. das man sozusagen eine Lade-Zeile hat, welche einen Status anzeigt. Wenn man das normal mit "print" macht, dann wird dazu immer eine neue Zeile geschrieben, also bei 100% in 1% Schritten sind es dann 100 Zeilen. Ich würd das aber gerne in 1 Zeile behalten.
Gruß
Erweitertes print
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
zu 1.: schau mal hier: http://www.python-forum.de/viewtopic.php?f=11&t=21487
zu 2.: \r ausgeben Beispiel hier: http://www.python-forum.de/viewtopic.php?p=96242#p96242
zu 2.: \r ausgeben Beispiel hier: http://www.python-forum.de/viewtopic.php?p=96242#p96242
-
- User
- Beiträge: 14
- Registriert: Mittwoch 23. Februar 2011, 18:16
Zu 1.
Danke, ich dachte das geht vlt. etwas einfacher :=)
Zu 2.
Vielen Dank =)
EDIT:
zu 2tens, wie muss das dann genau aussehen?
gruß
Danke, ich dachte das geht vlt. etwas einfacher :=)
Zu 2.
Vielen Dank =)
EDIT:
zu 2tens, wie muss das dann genau aussehen?
Code: Alles auswählen
print "\rHallo1"
print "\rHallo2"
Zu 2.)
Die einfachste Methode das newline zu unterdrücken ist einfach ein Komma hinten anfügen.
Wird aber ein Space eingefügt. Sonst könnte man mit Listen und join arbeiten. Dann ibt es noch die write Funktion (sys.stdout.write).
Die einfachste Methode das newline zu unterdrücken ist einfach ein Komma hinten anfügen.
Code: Alles auswählen
for i in 1,2,3:print i,
Ein "farbiges" `print` hat der Autor von termcolor kürzlich implementiert. Das könnte man dann beispielsweise so anwenden:
Der Future-Import fällt unter Python 3 natürlich weg und selbstredend ist `print` von da an eine Funktion.
Code: Alles auswählen
from __future__ import print_function
from termcolor import cprint as print
print('Spam', color='red')
-
- User
- Beiträge: 14
- Registriert: Mittwoch 23. Februar 2011, 18:16
Aber so, wird der Text nur hinten angehängt.hendrikS hat geschrieben:Zu 2.)
Die einfachste Methode das newline zu unterdrücken ist einfach ein Komma hinten anfügen.Wird aber ein Space eingefügt. Sonst könnte man mit Listen und join arbeiten. Dann ibt es noch die write Funktion (sys.stdout.write).Code: Alles auswählen
for i in 1,2,3:print i,
ich wollte eig sowas:
Es wurden schon x von y Zeilen gelesen.
Und es soll das x mit jedem Schleifendurchlauf erhöht werden, ohne eine neue Zeile in die Konsole zu schreiben.
Verstehe jetzt, was Du erreichen willst. Das geht aber nicht so einfach. Unter Linux womöglich mit der curses Bibliothek. Unter Windows weiss ich nicht so recht. Vielleicht wissen andere mehr.Scriptonator hat geschrieben:Es wurden schon x von y Zeilen gelesen.
Und es soll das x mit jedem Schleifendurchlauf erhöht werden, ohne eine neue Zeile in die Konsole zu schreiben.
-
- User
- Beiträge: 14
- Registriert: Mittwoch 23. Februar 2011, 18:16
ich schau mich mal weiter um.
beispiele sind auch willkommen.
Danke :=)
beispiele sind auch willkommen.
Danke :=)