Weil es mich ein wenig nachdenken ließ.
Dies ist eine gut eingeführte Methode und ich denke, es ist eine grundlegende Grammatik.
'{0:05d}'.format(12) #=> '00012'
Es hat nichts mit Nullfüllung zu tun, aber es sieht wie folgt aus, um mit Leerzeichen zu füllen.
'{0:5d}'.format(12) #=> ' 12'
In Python können Variablen nicht in Feldern wie "{0: 05d}" verwendet werden, sodass Sie mit dieser Notation nicht "die Anzahl der Ziffern dynamisch angeben können, um eine Zeichenfolge abzurufen".
Daher kann es durch das folgende Verfahren realisiert werden.
python
# -*- coding: utf-8 -*-
max = 10000 #<=Vorausgesetzt, dies ist dynamisch
#Holen Sie sich die maximale Ziffer
max_len = len(str(max))
#Numerischer Zielwert (diesmal angemessen)
test = 123
###Nullauffüllung mit maximalen Ziffern für die Zielnummer###
# `zfill`Beim Benutzen
output = str(test).zfill(max_len)
print(output) #=> '00123'
#Bei Verwendung von rjust
output = str(test).rjust(max_len,'0')
print(output) #=> '00123'
Mit zfill
ist es möglich, eine Variable für die durch das Argument angegebene Anzahl von Stellen zu verwenden.
Wenn Sie "rjust" verwenden, können Sie es auch mit einem anderen Zeichen als Null füllen, indem Sie im zweiten Argument ein anderes Zeichen als "0" angeben. (Ich habe von @matobaa san gelernt, wie man "rjust" benutzt. Thankx @matobaa san!)
Recommended Posts