在Python中设置区域设置(十进制符号)设置时遇到问题

在Python中设置区域设置(十进制符号)设置时遇到问题,python,locale,Python,Locale,我有个问题,生活在一个十进制符号是“not”的国家。 我试图在python代码中设置区域设置 locale.setlocale(locale.LC_ALL,'') 如果我打印到shell,结果会是: 'decimal_point': ',' 但当我尝试将字符串转换为float时,我得到以下结果: ValueError:无法将字符串转换为浮点:“25,00” 如果你知道我哪里做错了,我将不胜感激。 当然,我可以在文本编辑器(制表符分隔的文件)中轻松地将,“更改为”,但我想使用更专业的工具:d

我有个问题,生活在一个十进制符号是“not”的国家。 我试图在python代码中设置区域设置

locale.setlocale(locale.LC_ALL,'')
如果我打印到shell,结果会是:

'decimal_point': ','
但当我尝试将字符串转换为float时,我得到以下结果:

ValueError:无法将字符串转换为浮点:“25,00”

如果你知道我哪里做错了,我将不胜感激。 当然,我可以在文本编辑器(制表符分隔的文件)中轻松地将
,“
更改为
,但我想使用更专业的工具:d

谢谢
-v

有locale.atof()谢谢Michael Butscher,没错。我没有提到的是,我有一个很长的代码,有几个字符串到浮点的对话是在美国环境中编写的,我会避免找到所有的float()部分并更改为locale.atof()。我真的希望不可能通过更改locale来更改float()的行为。你能想象我的头痛吗?约翰·史密斯,你能想象我的头痛吗?所有数据集都使用逗号作为十进制符号…:d您是否可以使用string replace()方法或正则表达式来调整数据?