In Python 3 können Sie die sep=
y end=
Parameter des print
Funktion:
Um keinen Zeilenumbruch am Ende der Zeichenkette hinzuzufügen:
print('.', end='')
So fügen Sie kein Leerzeichen zwischen alle Funktionsargumente ein, die Sie ausdrucken möchten:
print('a', 'b', 'c', sep='')
Sie können eine beliebige Zeichenkette an einen der beiden Parameter übergeben und beide Parameter gleichzeitig verwenden.
Wenn Sie Probleme mit der Pufferung haben, können Sie die Ausgabe spülen, indem Sie flush=True
Schlüsselwort-Argument:
print('.', end='', flush=True)
Python 2.6 und 2.7
Ab Python 2.6 können Sie entweder die print
Funktion von Python 3 unter Verwendung der __future__
Modul :
from __future__ import print_function
die es Ihnen ermöglicht, die obige Python-3-Lösung zu verwenden.
Es ist jedoch zu beachten, dass die flush
ist nicht verfügbar in der Version des print
Funktion importiert aus __future__
in Python 2; es funktioniert nur in Python 3, genauer gesagt 3.3 und später. In früheren Versionen müssen Sie den Flush immer noch manuell mit einem Aufruf von sys.stdout.flush()
. Sie müssen auch alle anderen Druckanweisungen in der Datei, in die Sie diesen Import durchführen, neu schreiben.
Oder Sie können verwenden sys.stdout.write()
import sys
sys.stdout.write('.')
Möglicherweise müssen Sie auch anrufen
sys.stdout.flush()
um sicherzustellen stdout
wird sofort gespült.
8 Stimmen
Für diejenigen, die die Dokumentation zur String-Formatierung von Python durchsuchen: docs.python.org/library/stdtypes.html#string-formatting
1 Stimmen
Es sieht so aus, als ob eine ähnliche Frage schon einmal gestellt worden wäre: https://stackoverflow.com/q/255147/9325817
1 Stimmen
Etwas spät zur Party, aber warum nicht
print("." * 10)
?0 Stimmen
Erläuterung zu wie zu verwenden
sep
yend
in python Druckanweisung