форматирования строки, разделение большого числа пробелом

Мне надо используя ТОЛЬКО .format вывести в консоль число 10000 разделенным пробелом 10 000 что-то типа:

item_name = 'Лампа'
total_quantity = '27'
total_amount = 1134
print('{0} - {1} штук, стоимость {2: d} рублей'.format(item_name, total_quantity, total_amount))
# Лампа - 27 штук, стоимость  1134 рублей

на выходе получилась 2 пробела, оно ставит пробел до числа. использовать .replace нельзя. Искал и в документации, ничего про пробел не нашел


Ответы (2 шт):

Автор решения: CraSmi

узнал про библиотеку locale. вот код:

import locale

locale.setlocale(locale.LC_ALL, '')
print('{0} - {1} штук, стоимость {2:n} рублей'.format(item_name, total_quantity, total_amount))

Лампа - 27 штук, стоимость 1 134 рублей

да, оно работает и мне подойдет. Но можно ли обойтись без этой библиотеки, одним лишь форматированием?
Кстати, в консоли видим число с пробелом, но в pycharm этот пробел превращается в NBSP "неразрывный пробел", и все равно оно является строкой.

→ Ссылка
Автор решения: strawdog
a = 10000
a_formatted = " ".join(('{0:,d}'.format(a)).split(','))
print('стоимость: {0}'.format(a_formatted))

стоимость: 10 000

→ Ссылка