从 txt 文件中标记句子,并得到 "expected string or bytes-like object" 错误
Tokenizing sentences from a txt file, and getting the "expected string or bytes-like object" error
我以为我有一个非常简单的代码来打开文件、读取文件并将其标记为句子。
import nltk
text = open('1865-Lincoln.txt', 'r')
tokens = nltk.sent_tokenize(text)
print(tokens)
但我一直收到以
结尾的疯狂长错误
TypeError: expected string or bytes-like object
您需要在 open 和 tokens 之间有一个读取命令。
fileObj = open('1865-Lincoln.txt', 'r')
text = fileObj.read()
你只是打开文本文件而不是读取相同的内容,这意味着同一文件的内容不会被记录为字符串,而且你只是将你的文件传递给 nltk 以标记句子,这只有在你为 nltk 提供字符串类型的输入。希望你能理解。谢谢:)
您需要调用 read()
函数才能从您的文件中读取内容,之后它将允许通过 nltk.sent_tokenize
包标记您的句子。重新生成您的代码如下:
import nltk
filex = open('1865-Lincoln.txt', 'r')
text = filex.read()
tokens = nltk.sent_tokenize(text)
print(tokens)
我以为我有一个非常简单的代码来打开文件、读取文件并将其标记为句子。
import nltk
text = open('1865-Lincoln.txt', 'r')
tokens = nltk.sent_tokenize(text)
print(tokens)
但我一直收到以
结尾的疯狂长错误TypeError: expected string or bytes-like object
您需要在 open 和 tokens 之间有一个读取命令。
fileObj = open('1865-Lincoln.txt', 'r')
text = fileObj.read()
你只是打开文本文件而不是读取相同的内容,这意味着同一文件的内容不会被记录为字符串,而且你只是将你的文件传递给 nltk 以标记句子,这只有在你为 nltk 提供字符串类型的输入。希望你能理解。谢谢:)
您需要调用 read()
函数才能从您的文件中读取内容,之后它将允许通过 nltk.sent_tokenize
包标记您的句子。重新生成您的代码如下:
import nltk
filex = open('1865-Lincoln.txt', 'r')
text = filex.read()
tokens = nltk.sent_tokenize(text)
print(tokens)