Pythonで数値を3桁区切り

Windows環境とLinux(CentOS5.4)環境とで異なったのでメモ。

import locale

locale.setlocale(locale.LC_ALL,’ja’)
print locale.format(‘%d’, 123456789, True)

Windows環境ならこれでOKですが、Linux(CentOS5.4)環境なら、以下になります。

import locale

locale.setlocale(locale.LC_ALL,’ja_JP.UTF-8′)
print locale.format(‘%d’, 123456789, True)

環境の文字コードにも依存するんだと思います。環境のlocaleに関する情報は

locale.setlocale(locale.LC_ALL,”)

で取得できます。

Python2.5です。