-1
Es ist zum Entfernen von Satzzeichen von str
.TypeError: erwartet ein Zeichenpufferobjekt Beim Ausführen einer Übersetzungsfunktion
tbl = dict.fromkeys(i for i in xrange(sys.maxunicode)
if unicodedata.category(unichr(i)).startswith('P'))
def remove_punctuation(text):
return text.translate(tbl)
remove_punctuation(',')
Aber es zeigt die Fehlermeldung, wenn ich den Code ausführen:
Traceback (most recent call last):
File "C:/Users/user/PycharmProjects/untitled2/is_include.py", line 22, in <module>
remove_punctuation('')
File "C:/Users/user/PycharmProjects/untitled2/is_include.py", line 20, in remove_punctuation
return text.translate(tbl)
TypeError: expected a character buffer object
Verwenden Sie Python 2 oder 3? – qvpham
Welche Python-Version verwenden Sie? In Python 2.x ist '',' 'vom Typ' str ', nicht' unicode 'und' str.translate() 'hat einen anderen Prototyp als' unicode.translate() '. Was ist das Ergebnis von 'remove_punctuation (u ',')'? –
OP verwendet 'xrange' und' unichr', also Python 2. –