为什么我在string.replace()上遇到“AttributeError:'module'对象没有属性'replace'”

时间:2013-12-24 18:41:34

标签: python string floating-point

导致错误的行是

totalR = totalR + (float(string.replace(contri[0][5],",","")) + float(string.replace(contri[0][6],",","")))

contri [0] [5]和[6]是包含格式为1,000.00的数字的字符串。我将字符串转换为浮点数之前删除逗号,以便将它们添加到totalR,这是一个浮点数。 (创建为totalR = 0.0)我也尝试使用Decimal,但错误也发生在那里。我做了“导入字符串”。该程序失败并出现错误:

File "mine.py", line 43, in fillDonorData
totalR = totalR + (float(string.replace(contri[0][5],",","")) + float(string.replace(contri[0][6],",","")))
AttributeError: 'module' object has no attribute 'replace'

3 个答案:

答案 0 :(得分:10)

string模块中的方法已被弃用多年。您应该直接在字符串上致电replace,或contri[6]

答案 1 :(得分:3)

现在在Python 3上str.replace

看起来重命名了同样的东西,具有相同的签名和具有相同含义的文档字符串。

答案 2 :(得分:0)

如果您对模块进行了更改,只需退出python shell并再次输入并再次导入模块