Anstelle der Registerkarten, ist es besser String Formatierungsanweisungen zu verwenden, wo es möglich ist, die genaue Anzahl der Räume zu spezifizieren und für die Ausgabe zu reservieren.
Zum Beispiel
print '>>%20s<<' %('some string')
>> some string<<
wird reservieren 20 Räume und rechts -align diese Zeichenfolge für die Anzeige. Sie können links -justify es mithilfe %-20s
print '>>%-20s<<' %('some string')
>>some string <<
Zahlen angegeben werden können d
für ganze Zahlen und f
für Float-Werte verwenden. Z. B.
print '%03d %5.2f' %(5, 22/7.0)
005 3.14
In diesem Beispiel reserviert I 3 Nullen aufgefüllten Räume für einen ganzzahligen Wert und 5 Bereiche für einen Schwimmer (2 für Werte nach dem Dezimalpunkt Raum). Sie können hier auch mit -
steuern. Es gibt viele andere Optionen zum Formatieren der Ausgabe. Weitere Informationen finden Sie in den unten angegebenen Links.
Beachten Sie, dass die Verwendung der .format()
-Funktion empfohlen wird. Siehe SO mein answer here über wie man .format()
benutzt. Diese answer kann auch helfen.
Während .format
sehr ausführlich erscheinen mag, bietet es eine große Flexibilität und eines meiner Lieblingsfeatures ist die Fähigkeit, Kommas in großen Zahlen für die Lesbarkeit leicht zu drucken.
Weitere Details finden Sie unter Python docs on String Formatting, damit Sie Ihre Ausgabe genau so ausrichten können, wie Sie es möchten.
Danke, das funktioniert toll :), kann ich Sie fragen, warum Sie nicht genutzt 'type' als einer der Funktionsargumente? – cyberbemon
ähm ... sollte binary_type oder so etwas sein ... typ ist eine schlechte Wahl des Namens, da es bereits eine Funktion in Python ist ... es wird immer noch funktionieren, aber kein guter Stil ... also habe ich es behoben oben über :) –
Oder ['str.ljust'] (http://docs.python.org/library/stdtypes.html#str.rjust) kurz –