Там также простой способ сделать это, что должны решать вопросы интернационализации, а также:
>>> import locale
>>> locale.atoi("1,000,000")
1000000
>>>
Я нашел, однако, что я должен явно установить локаль первую в противном случае она не работает для меня и я в конечном итоге с некрасивым TRACEBACK вместо:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/locale.py", line 296, in atoi
return atof(str, int)
File "/usr/lib/python2.6/locale.py", line 292, in atof
return func(string)
ValueError: invalid literal for int() with base 10: '1,000,000'
Так что, если это случится с вами:
>>> locale.setlocale(locale.LC_ALL, 'en_US.UTF8')
'en_US.UTF8'
>>> locale.atoi("1,000,000")
1000000
>>>
См. Http://stackoverflow.com/questions/1779288/how-do-i-use-python-to-convert-a-string-to-a-number-if-it-has-commas-in -it-as-tho/1779324 – unutbu