读取文件并找出唯一的单词集

时间:2018-10-09 23:25:39

标签: python python-3.x

我一般对python /或编程世界还是陌生的。 我有一个包含两个.txt文件的文件夹。我想读取文件并创建一个数据结构以将所有唯一单词存储在这些文件中。这是我写的,

import glob
import errno
path = '/path/to/my/files/*.txt'
files = glob.glob(path)

for name in files:
    try:
        with open(name, encoding="ISO-8859-1") as f:
            f.read()
    except IOError as exc:
        if exc.errno != errno.EISDIR:
            raise

但是我不知道如何修改程序以找到唯一的单词。如果您能指导我,我将不胜感激。谢谢。

3 个答案:

答案 0 :(得分:2)

您可以这样做:

import glob
import errno
path = '/path/to/my/files/*.txt'
files = glob.glob(path)

unique = dict()

for name in files:
   try:
       with open(name, encoding="ISO-8859-1") as f:
           data = f.read()
           for word in data.split(' '):
               if word.strip():
                   unique[word] = word

    except IOError as exc:
        if exc.errno != errno.EISDIR:
            raise

print unique.keys()

答案 1 :(得分:2)

[已编辑]已更改字典以进行设置。

  1. 使用一组来保存单词。
  2. 我建议您创建一个读取文件的函数,然后在您的文件中使用它。

例如:

term_list = set()

def unique_words(path+"filename.txt"):
    text = open(path+"filename.txt","r")

    for line in text:
        if line != '\n':
            line = line.strip().split(' ')
            for word in line:
                term_list.add(word)
return

答案 2 :(得分:1)

尝试在打开的函数中添加'encoding =“ latin-1”'。所以    使用open(name,encoding =“ latin-1”)as f: