2 回答

TA貢獻1829條經(jīng)驗 獲得超13個贊
我能夠在模擬器上重現(xiàn)類似的東西。就我而言,根本原因是下載失敗并出現(xiàn) DECRYPTION_FAILED_OR_BAD_RECORD_MAC 錯誤,留下不完整的 ZIP 文件。
這似乎是模擬器的低級問題,并非 Python 特有的。如果您可以確認您有同樣的問題(通過在nltk.download
?logcat輸出中查看 DECRYPTION_FAILED_OR_BAD_RECORD_MAC),
nltk.download
您可以通過在循環(huán)中重復調(diào)用直到返回 true 來解決此問題。為了節(jié)省時間,您可能應該只下載您需要的數(shù)據(jù)文件。您只需調(diào)用相應的函數(shù)并查看錯誤消息即可找出這些是什么,例如:
>>> nltk.pos_tag_sents([["hello", "world"]])
...
LookupError:?
**********************************************************************
? Resource [93maveraged_perceptron_tagger[0m not found.
? Please use the NLTK Downloader to obtain the resource:
?
? [31m>>> import nltk
? >>> nltk.download('averaged_perceptron_tagger')
然后您可以將其添加到您的代碼中:
while not nltk.download('averaged_perceptron_tagger'):
? ? print("Retrying download")
經(jīng)過幾次迭代后成功了,然后我就可以nltk.pos_tag_sents成功調(diào)用了。

TA貢獻1862條經(jīng)驗 獲得超6個贊
將其添加到您的 python 腳本中:
while not nltk.download('punkt'): return ("Retrying download punkt")
另外,在您的 AndroidManifest 中,不要忘記添加這些權(quán)限:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
添加回答
舉報