附加到txt文件的问题

时间:2018-05-06 08:51:44

标签: python

我正在尝试读取和写入同一个文件。目前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

任何帮助将不胜感激。

谢谢:)

2 个答案:

答案 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