我是新手用户,对以下其他简单的“循环”问题感到困惑。我有一个本地目录,带有x个文件(约500个.txt文件)。我想使用RAKE for Python从每个唯一文件中提取相应的关键字。我已经查看了RAKE的文档;但是,教程中建议的代码将获取单个文档的关键字。有人可以向我解释一下如何循环存储在本地目录中的X个文件。这是本教程中的代码,对于单个文档而言,它的表达确实不错。
$git clone https://github.com/zelandiya/RAKE-tutorial import rake import operator rake_object = rake.Rake("SmartStoplist.txt", 5, 3, 4) sample_file = open("data/docs/fao_test/w2167e.txt", 'r') text = sample_file.read() keywords = rake_object.run(text) print "Keywords:", keywords
创建要处理的文件名列表:
filenames = [ 'data/docs/fao_test/w2167e.txt', 'some/other/folder/filename.txt', etc... ]
如果您不想对所有名称进行硬编码,则可以使用该glob模块通过通配符收集文件名。
glob
创建用于存储结果的字典:
results = {}
遍历每个文件名,读取内容并将Rake结果存储在字典中,并以文件名为键:
for filename in filenames: with open(filename, 'r') as fp: results[filename] = rake_object.run(fp.read())