-1
str
の句読点を削除します。TypeError:文字バッファオブジェクトが必要です。翻訳機能を実行するとき
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(',')
しかし、私は、コードの実行時にエラーメッセージが表示されます。
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
あなたはPython 2または3を使用していますか? – qvpham
あなたはどのPythonバージョンを使用していますか? Python 2.xでは、 ''、' 'は' unicode'ではなく 'str'型であり、' str.translate() 'は' unicode.translate() 'とは異なるプロトタイプを持っています。 'remove_punctuation(u '、')'の結果は何ですか? –
OPは 'xrange'と' unichr'を使用していますので、Python 2です。 –