首页 > 解决方案 > Python:从 .txt 文件目录创建文件列表

问题描述

我正在尝试从 .txt 文件目录加载语料库,然后创建一个文档列表。

我认为它会很简单,但是当我运行它时没有任何反应,我错过了什么吗?

import os.path
import re
import glob

 def load_data_from_dir(path):
file_list = glob.glob('/transcripts/*.txt')


# create document list:
documents_list = []
for filename in file_list:
    with open(filename, 'r', encoding='utf8') as f:
        text = f.read()
        f.close()
        documents_list.append(text)
print("Total Number of Documents:",len(documents_list))
return documents_list

标签: pythonglob

解决方案


您的代码中有一些错误。

  1. 函数 ( load_data_from_dir) 主体没有缩进。缩进函数体中的所有行(直到您的 return 语句)
  2. 使用构造打开的文件with不应显式关闭。消除f.close()
  3. 如果这是单个模块并且您只运行一个函数。然后什么都不会发生。您需要确保调用该函数。所以添加

    if __name__ == '__main__':
        load_data_from_dir(...)
    

推荐阅读