在NLTK中找到语料库的路径
我正在使用自然语言工具包来编写一个程序。 其中我正在尝试加载我自己文件的语料库。 要做到这一点,我使用代码来达到以下效果:
from nltk.corpus import PlaintextCorpusReader
corpus_root=(insert filepath here)
wordlists=PlaintextCorpusReader(corpus_root, '.*')
假设我的文件名为reader.py,并且我的文件语料库位于与reader.py相同的目录中名为“corpus”的目录中。 我想知道一种通用的方法来查找上面的文件路径,以便我的代码可以为使用代码的任何人查找任何位置的“corpus”目录的路径。 我试过这些帖子,但它们只允许我获取绝对文件路径:查找当前目录和文件的目录
任何帮助将不胜感激!
从我的理解
reader.py
文件和corpus
目录总是在同一个目录下 reader.py
corpus
,而不管您将它们放在目录结构中的哪个位置 在这种情况下,你提到的问题似乎就是你需要的。 另一种方式是在这个其他答案。 使用第二个选项,您的代码将是:
from nltk.corpus import PlaintextCorpusReader
import os.path
import sys
basepath = os.path.dirname(__file__)
corpus_root= os.path.abspath(os.path.join(basepath, "corpus"))
wordlists=PlaintextCorpusReader(corpus_root, '.*')
请记住,创建绝对路径时,会根据上面的basepath = os.path.dirname(__file__)
位获得的信息创建该basepath = os.path.dirname(__file__)
,这会生成reader.py
的当前目录。 查看一些官方文档的文档。