string.translate上的预期缓冲区对象错误 - python 2.6

时间:2011-08-09 20:01:25

标签: python string translate

我感谢python新手的一些帮助,我试图从字符串中删除一些字符,例如:

string1 = "100.000"
deleteList = [",", "."]
string1.translate(None, deleteList)

 print string1

但我得到TypeError: expected a character buffer object

为什么我会收到此错误,它引用了哪个参数?我在哪里可以找到帮助。 我在Windows上使用python 2.6。

2 个答案:

答案 0 :(得分:10)

docs for string.translate

S.translate(table [,deletechars]) -> string

表明deletechars应该是一个字符串,而不是字符列表:

string1 = "100.000"
string1=string1.translate(None, ',.')
print (string1)
# 100000

答案 1 :(得分:1)

您得到的错误是指deleteList变量,它应该是一个字符串。如果你真的需要将字符存储在一个列表中,你可以这样做:

string1.translate(None, ''.join(deleteList))