我试图从大约在NLTK创建我自己的语料库。 200k文本文件,每个文件都存储在自己的zip文件夹中。它看起来如下:
我使用以下代码尝试访问父目录中的所有文本文件:
from nltk.corpus.reader.plaintext import PlaintextCorpusReader corpus_path="parent_dir" corpus=PlaintextCorpusReader(corpus_path,".*") file_ids=corpus.fileids() print(file_ids)
但Python只返回一个空列表,因为它可能因为压缩而无法访问文本文件。有没有一种简单的方法来解决这个问题?不幸的是,由于文件的大小,我无法解压缩文件。
答案 0 :(得分:0)
如果你要做的就是获取fileID,只需使用' glob'模块,它不关心文件类型。
导入模块(如果您没有继续使用pip install glob
):
from glob import glob
让您的目录使用*
作为通配符来获取目录中的所有内容:
directory = glob('/path/to/your/corpus/*')
glob()
方法返回字符串列表(在本例中为文件路径)。
您可以简单地迭代这些来打印文件名:
for file in directory:
print(file)
本文看起来像是关于阅读压缩文件内容的问题的答案:How to read text files in a zipped folder in Python
我认为这些方法的组合可以解决您的问题。
祝你好运!