1. ホーム
  2. Python

TypeError: バイトライクオブジェクトで文字列パターンを使用できない

2022-02-18 03:39:42

Python2からPython3への変換のため、『機械学習 in Action』の第4章にある

emailText = open('email/ham/6.txt').read()

に変更する必要があります。

emailText = open('email/ham/6.txt','rb').read()

しかし、その後に

listOfTokens = regEx.split(emailText)

が表示されます。

TypeError: cannot use a string pattern on a bytes-like object

インターネットで検索したところ、次のような解決策が見つかりました。

emailText = emailText.decode('GBK')

または直接

emailText = open('email/ham/6.txt','rb').read().decode('GBK')