Wie erzwinge ich Pythons print
Funktion zur Ausgabe auf dem Bildschirm?
Antworten
Zu viele Anzeigen?
guettli
Punkte
23426
Hier ist meine Version, die auch writelines() und fileno() bietet:
class FlushFile(object):
def __init__(self, fd):
self.fd = fd
def write(self, x):
ret = self.fd.write(x)
self.fd.flush()
return ret
def writelines(self, lines):
ret = self.writelines(lines)
self.fd.flush()
return ret
def flush(self):
return self.fd.flush
def close(self):
return self.fd.close()
def fileno(self):
return self.fd.fileno()
kmario23
Punkte
49380
Guillaume Mougeot
Punkte
123
Ich hatte zunächst Schwierigkeiten zu verstehen, wie die Spüloption funktionierte. Ich wollte eine "Ladeanzeige" erstellen, und hier ist die Lösung, die ich gefunden habe:
for i in range(100000):
print('{:s}\r'.format(''), end='', flush=True)
print('Loading index: {:d}/100000'.format(i+1), end='')
Die erste Zeile löscht den vorherigen Ausdruck und die zweite Zeile druckt eine neue aktualisierte Nachricht. Ich weiß nicht, ob hier eine einzeilige Syntax existiert.
- See previous answers
- Weitere Antworten anzeigen