在文本文件中隔离单词的文件I/O



我目前正在使用python 2.7.5进行文件读取分配。我们的第一个任务是读入提供给我们的两个文件(一个是故事,另一个是字典)。字典文件中每行有一个单词。然后,检查故事文件中的每个单词,看看它是否在字典中。如果是,我们打印这个单词。下面是我的代码:

story = set(open("story.txt").read().strip().split("n"))
dictionary = open("dictionary.txt").read().strip().split("n")
for word in story:
    word = word.strip(',():;.')
    if word not in dictionary:
        print(word)

我目前有问题获得故事中的每个单独的单词,因为这个程序是从故事文件输出各种行。如果你能帮我找出故事中的每个单词,我会很感激的。任何帮助都是感激的。谢谢。

阅读故事时,只用split(),不用split('n'):

In [1]: '''This is a text.
   ...: There is also a second line.'''.split()
Out[1]: ['This', 'is', 'a', 'text.', 'There', 'is', 'also', 'a', 'second', 'line.']

第一次调用分割所有空格,第二次调用只分割换行符。

在分割文本之前,最好去掉标点符号;

with open('story.txt', 'r') as infile:
    data = infile.read()
data = data.translate(None, ';:.,!?')
words = data.split()

程序正在输出故事的行,因为当您说.split("n")时,您正在将文本分割成行列表。你为什么要这么做?此外,考虑一下当你在句子的开头使用单词时会发生什么。

相关内容

  • 没有找到相关文章

最新更新