0

文件夹中有一堆 .txt 文件。这里有两个函数用于读取这些文件并将它们作为一个字符串保存到变量中:

s=(glob.glob("/Users/user/documents/folder/*.txt"))

def read_files(files):
    for filename in files:
        with open(filename, 'r', encoding='latin-1') as file:
            yield file.read()

def read_files_as_string(files, separator='\n'):
    files_content = list(read_files(files=files))
    return separator.join(files_content)

results=read_files_as_string(s)

现在我的想法是使用 sklearnCountVectorizer()从文本中获取 n-gram。但CountVectorizer()不接收作为输入的字符串。所以我的问题是-我怎样才能使读取文件的函数不将它们存储到一个字符串中,而是使用该逻辑存储它们:['text1.txt', 'text2.txt', ..., 'textn.文本']

提前致谢!

4

1 回答 1

1

read_files已经做了几乎所有你想要的。您可以直接调用它并使用list它来将其从生成器转换为常规列表:

results = list(read_files(s))
于 2018-07-09T13:54:27.713 回答