Was %s
bedeutet in Python? Und was macht der folgende Code?
Zum Beispiel...
if len(sys.argv) < 2:
sys.exit('Usage: %s database-name' % sys.argv[0])
if not os.path.exists(sys.argv[1]):
sys.exit('ERROR: Database %s was not found!' % sys.argv[1])
%
Bediener ist zugunsten der leistungsstärkerenstr.format
Methode veraltet , siehe PEP-3101 .Antworten:
Es handelt sich um eine Syntax zur Formatierung von Zeichenfolgen (die von C übernommen wird).
Bitte sehen Sie "PyFormat" :
Bearbeiten: Hier ist ein wirklich einfaches Beispiel:
Mit dem
%s
Token kann ich eine Zeichenfolge einfügen (und möglicherweise formatieren). Beachten Sie, dass das%s
Token durch alles ersetzt wird, was ich nach dem%
Symbol an die Zeichenfolge übergebe . Beachten Sie auch, dass ich auch hier ein Tupel verwende (wenn Sie nur eine Zeichenfolge haben, ist die Verwendung eines Tupels optional), um zu veranschaulichen, dass mehrere Zeichenfolgen in eine Anweisung eingefügt und formatiert werden können.quelle
str.format
Methode veraltet ist .(name,)
und nicht nurname
?Andrews Antwort ist gut.
Und um Ihnen ein bisschen mehr zu helfen, verwenden Sie hier mehrere Formatierungen in einer Zeichenfolge
Wenn Sie Ints anstelle von String verwenden, verwenden Sie% d anstelle von% s.
quelle
%s
für ganze Zahlen verwenden. Es wird nur in eine Zeichenfolge konvertiert.print('This number will be padded with 4 zeros: %05d ' % 1)
- das wird funktionieren.print('This number will be padded with 4 zeros: %05s ' % 1)
- das wird nicht `Die
format
Methode wurde in Python 2.6 eingeführt. Es ist leistungsfähiger und nicht viel schwieriger zu bedienen:quelle
%s
Gibt einen Konvertierungstyp für Zeichenfolgen an, wenn die Zeichenfolgenformatierungsfunktionen von Python verwendet werden. Genauer gesagt,%s
wandelt einen bestimmten Wert in eine Zeichenfolge , die unter Verwendung vonstr()
Funktion. Vergleichen Sie dies mit dem%r
Konvertierungstyp, der dierepr()
Funktion für die Wertkonvertierung verwendet.Schauen Sie sich die Dokumente zur Formatierung von Zeichenfolgen an .
quelle
%s
und%d
sind Formatbezeichner oder Platzhalter zum Formatieren von Zeichenfolgen / Dezimalstellen / Gleitkommazahlen usw.Am häufigsten verwendeter Formatbezeichner:
%s
: string%d
: Dezimalstellen%f
: floatSelbsterklärender Code:
quelle
Als Antwort auf Ihre zweite Frage: Was macht dieser Code? ...
Dies ist ein ziemlich normaler Code zur Fehlerprüfung für ein Python-Skript, das Befehlszeilenargumente akzeptiert.
Die erste
if
Aussage lautet also: Wenn Sie mir kein Argument übergeben haben, werde ich Ihnen sagen, wie Sie mir in Zukunft ein Argument übergeben sollen, z. B. wird dies auf dem Bildschirm angezeigt:Die nächste
if
Anweisung prüft, ob der 'Datenbankname', den Sie an das Skript übergeben haben, tatsächlich im Dateisystem vorhanden ist. Wenn nicht, erhalten Sie eine Nachricht wie folgt:Aus der Dokumentation :
quelle
Hier ist ein gutes Beispiel in Python3.
quelle