Ich versuche str.format()
für Report-Header zu verwenden (dh Spalten) mit variabler Breite, aber ich kann nicht scheinen zu tun es eine int
Variable:Keine int-Variablen in der Python-Zeichenkette replacement_field erlaubt?
hlist =['h1','h2','h3','h4']
width = 7
for i in range(len(hlist)):
# print(hlist[i].center(width), end=' ') # this works
print('{:^width}'.format(hlist[i]), end=' ') # this doesn't
print()
for i in range(len(hlist)):
# print('------'.center(width), end=' ') # this works
print('{:-<width}'.format('-'), end=' ') # this doesn't
print()
diesen Code Laufen gibt mir:
ValueError: Invalid format specifier
Verwenden Sie alle int
Literal anstelle von width
funktioniert gut. Ich recherchierte here und ich dachte, dass ich nah mit dem format_spec
arg kam, aber es sieht aus wie es nur nicht ganzzahlige Formate unterstützt. Ich versuchte auch int()
, aber kein Glück.
Ich bin glücklich mit der Lösung, die mit funktioniert, aber ich suchte nach einer Möglichkeit, die neuere Syntax für mehr Flexibilität zu verwenden.
Jede Hilfe mit diesem würde sehr geschätzt werden!
Das ist gut, danke. Ich bin brandneu, aber kannst du mir sagen, was mit der vorherigen Antwort auf diese Frage passiert ist? Es scheint entfernt worden zu sein. Ich dachte, dass Fragen gerade abgestimmt, nicht entfernt wurden ...? –
Nicht wirklich sicher. Ich vermute, dass der Besitzer es gelöscht hat. Ich glaube nicht, dass es zu schrecklich war, auch wenn es nicht die kanonische Antwort war, also bezweifle ich, dass ein Moderator es entfernt hat. –
In diesem Sinne könnten Sie eine Aufzählung erwägen und diese Antwort auswählen, selbst wenn die Frage geschlossen wurde. –