如何从包含Dari单词的文件中删除英语单词?

2024-10-01 11:34:06 发布

您现在位置:Python中文网/ 问答频道 /正文

如何找到英语单词并将其从包含Dari单词的文件中删除?我试过这个代码,但我不知道如何改进它。在

inp = open('Dari.pos', 'r')
out = open('DariNER.txt', 'w')

for line in iter(inp):
   ------------?
   out.write(word)
inp.close()
out.close()

Tags: 文件代码inpostxtforcloseline
2条回答

您可以安装并使用nltk库。这将为您提供英语单词列表以及将每行拆分为单词的方法:

from nltk.tokenize import word_tokenize
from nltk.corpus import words

english = words.words()

with open('Dari.pos') as f_input, open('DariNER.txt', 'w') as f_output:
    for line in f_input:
        f_output.write(' '.join(word for word in word_tokenize(line) if word.lower() not in english) + '\n')

安装nltk后,应运行:

^{pr2}$

并使用它来下载words

infile = "Dari.pos"
outfile = "Cleaned_English_Tags.txt"

delete_list = ['NOUN', 'ADJ', 'PUNCT', 'INTJ', 'ADV', 'VERB', 'X', 'CCONJ', 'ADP', 'AUX', 'SCONJ', 'PRON', 'DET', 'NUM', 'AU']
fin = open(infile)
fout = open(outfile, 'w')

for line in fin:
    for word in delete_list:
        line = line.replace(word, " ")
    fout.write(line)

fin.close()
fout.close()

相关问题 更多 >