Comment tronquer une chaîne à l'aide de str.format en Python?
Comment tronquer une chaîne à l'aide de str.format
en Python? Est-il même possible?
Il y a un width
paramètre mentionné dans le Spécification Du Format Mini-Langue:
format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type]
...
width ::= integer
...
Mais la spécification apparemment il ne fonctionne pour le rembourrage, de ne pas tronquer:
>>> '{:5}'.format('aaa')
'aaa '
>>> '{:5}'.format('aaabbbccc')
'aaabbbccc'
Il est donc plus une largeur minimale de largeur vraiment.
Je sais que je peux tranche les cordes, mais les données que j'ai ici est totalement dynamique, y compris la chaîne de format et les arguments qui vont dans. Je ne peux pas juste aller et explicitement tranche une.
Vous devez vous connecter pour publier un commentaire.
Utilisation
.precision
à la place:Selon la documentation de la Spécification Du Format Mini-Langue:
width
et unprecision
:{:5.5}
. Cela garantit que la sortie sera toujours de 5 caractères qui est probablement ce que l'OP voulait.string_object[-5:]