我正在尝试读取和写入同一个文件。目前2289newsML.txt
中的数据作为普通句子存在但我想附加文件,因此它只存储相同句子的标记化版本。
我使用下面的代码,但即使它打印出标记化的句子,它也不会将它们写入文件。
from pathlib import Path
from nltk.tokenize import word_tokenize
news_folder = Path("file\\path\\")
news_file = (news_folder / "2289newsML.txt")
f = open(news_file, 'r+')
data = f.readlines()
for line in data:
words = word_tokenize(line)
print(words)
f.writelines(words)
f.close
任何帮助将不胜感激。
谢谢:)
答案 0 :(得分:1)
from nltk.tokenize import word_tokenize
with open("input.txt") as f1, open("output.txt", "w") as f2:
f2.writelines(("\n".join(word_tokenize(line)) for line in f1.readlines()))
使用with
理解确保文件句柄得到处理。所以你不需要f1.close()
此程序正在写入另一个文件。
当然,你也可以这样做:
f = open(news_file)
data = f.readlines()
file = open("output.txt", "w")
for line in data:
words = word_tokenize(line)
print(words)
file.write('\n'.join(words))
f.close
file.close
Output.txt将包含标记化的单词。
答案 1 :(得分:0)
我正在尝试读取和写入同一个文件。目前的数据 在2289newsML.txt作为普通句子存在,但我想追加 文件...
因为您要以r+
模式打开文件。
'r+'
开放阅读和写作。 该流位于文件的开头。
如果要在文件末尾添加新文本,请考虑以a+
模式打开文件。
详细了解 open
详细了解 file modes