我有一个大的文本文件(~300MB),我想把它标记成单独的句子。我使用的代码如下:
import nltk.data
f = open(filename)
r = read()
s = nltk.data.load('tokenizers/punkt/german.pickle')
print('\n---\n'.join(s.tokenize(r.strip())))
这很好,但它只是把它打印到stdout。我想把结果保存在一个单独的文件中,用它做其他的事情,而这正是我失败的时候。如果我写信
^{pr2}$我得到AttributeError: 'str' object has no attribute 'file'
,如果我写
file = open('saetze.txt', 'w')
print('\n---\n'.join(s.tokenize(r.strip()))).file.write() >> file
然后我得到TypeError: unsupported operand type(s) for 'str' and 'file'
那么,将输出写入文件的正确语法是什么?在
首先,你不应该使用单词“file”,因为它是一个python关键字。使用另一个词,比如“fp”作为要写入的文件的文件指针。现在要写入文件,请使用以下语句:
为了更清楚地说明,OP要求一个句子标记器,以及如何在NLTK中使用句子标记器,以便它输出到一个文件:
相关问题 更多 >
编程相关推荐