尝试对目录和子目录中的所有文件使用 os.walk 和 FreqDist
Trying to use os.walk to and FreqDist for all files in a directory and subdirectories
我正在尝试使用 NLTK 获取整个目录中最常用的单词,该目录由大约十几个子目录组成,每个子目录中有大约一打到两打文本文件。我正在使用 os.walk 函数和 NLTK 的 FreqDist,但我的代码似乎不起作用。我已经尝试了很多,但无法达到 运行。任何帮助将不胜感激!!
您不需要在以下行中包含子目录:
with open(os.path.join(directory, subdirectory, file), "r") as f:
错误是因为subdirectory
是一个列表。
你只需要:
with open(os.path.join(directory, file), "r") as f:
要报告所有文件的总数,您可以创建一个
frequency = nltk.FreqDist()
在循环之前然后在循环内更新它
frequency.update(useful_words)
然后报告
print(frequency.most_common(20))
循环后。
nltk.FreqDist
是 collections.Counter
的子类。
我正在尝试使用 NLTK 获取整个目录中最常用的单词,该目录由大约十几个子目录组成,每个子目录中有大约一打到两打文本文件。我正在使用 os.walk 函数和 NLTK 的 FreqDist,但我的代码似乎不起作用。我已经尝试了很多,但无法达到 运行。任何帮助将不胜感激!!
您不需要在以下行中包含子目录:
with open(os.path.join(directory, subdirectory, file), "r") as f:
错误是因为subdirectory
是一个列表。
你只需要:
with open(os.path.join(directory, file), "r") as f:
要报告所有文件的总数,您可以创建一个
frequency = nltk.FreqDist()
在循环之前然后在循环内更新它
frequency.update(useful_words)
然后报告
print(frequency.most_common(20))
循环后。
nltk.FreqDist
是 collections.Counter
的子类。