ожидаемая ошибка объекта буфера на string.translate - python 2.6 - PullRequest
5 голосов
/ 10 августа 2011

Буду признателен за помощь новичку в Python, я пытаюсь удалить некоторые символы из строки, например, например:

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

 print string1

, но я получаю TypeError: expected a character buffer object

Почему я получаю эту ошибку, на какой аргумент она ссылается?и где я могу найти помощь по этому вопросу.Я использую Python 2.6 на Windows.

Ответы [ 2 ]

10 голосов
/ 10 августа 2011

Документы для string.translate говорят

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

, что предполагает, что deletechars должна быть строкой символов, а не списком символов:

string1 = "100.000"
string1=string1.translate(None, ',.')
print (string1)
# 100000
1 голос
/ 10 августа 2011

Ошибка, которую вы получаете, относится к вашей переменной deleteList, это должна быть строка. Если вам действительно нужно хранить символы в списке, вы можете сделать это:

string1.translate(None, ''.join(deleteList))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...