print formatting

Peter Otten __peter__ at web.de
Sat Mar 13 08:37:50 EST 2010


vsoler wrote:
> My script contains a print statement:
>> print '%40s %15d' % (k, m)
>> However,
>> 1- the string is right adjusted, and I would like it left
> adjusted
> 2- the number is a decimal number, and I would like it with
> the thousands separator and 2 decimals
>> If possible, the thousands separator and the decimal separator should
> use my local settings.
>> Is there any way to achieve this?

>>> import locale
>>> locale.setlocale(locale.LC_ALL, "")
'de_DE.UTF-8'
Traditional:
>>> print '%-40s|%15s' % (k, locale.format("%d", m, grouping=True))
hello | 1.234.567
New:
>>> "{0:<40} {1:15n}".format(k, m)
'hello 1.234.567'
See also:
http://docs.python.org/dev/py3k/library/string.html#formatstrings
Peter


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /