2013-01-13 9 views
5

Attualmente sto scrivendo codice che pastiglie una stringa con gli spazi, utilizzando Python format specification mini language:troncare e pad utilizzando specifiche del formato mini lingua

print('''{user:<10}, you're welcome!'''.format(user='John Doe')) 

L'output è:

John Doe , you're welcome! 

Tuttavia, se l'utente di il nome è qualcosa come "Joooooooooooohn Doe", mi piacerebbe produrre:

Jooooooooo, you're welcome! 

Esiste un modo per eseguire il troncamento E il riempimento utilizzando il mini linguaggio di specifica del formato?

Grazie!

risposta

11

Dalla pagina si è collegato a:

Per i tipi non numerici [precisione] indica la dimensione massima di campo - in altre parole, il numero di caratteri saranno utilizzati da parte il contenuto del campo. La precisione non è consentita per i valori interi .

precisione è introdotta da un periodo

format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type]

Quindi la stringa di formato corretto è {user:<10.10}.

>>> '{0:<10.10}'.format('1234567') 
'1234567 ' 

>>> '{0:<10.10}'.format('123456789034') 
'1234567890' 
Problemi correlati