在NLTK中查找语料库的路径

时间:2013-06-27 06:24:54

标签: python nltk filepath

我使用自然语言工具包为python编写程序。在其中我试图加载我自己的文件的语料库。为此,我使用代码以达到以下效果:

from nltk.corpus import PlaintextCorpusReader
corpus_root=(insert filepath here)
wordlists=PlaintextCorpusReader(corpus_root, '.*')

我们说我的文件名为reader.py,我的文件语料库位于名为' corpus'的目录中。在与reader.py相同的目录中。我想知道一种方法来概括找到上面的文件路径,以便我的代码可以找到'语料库的路径。任何使用该代码的人的任何位置的目录。我试过这些帖子,但它们只允许我获取绝对文件路径: Find current directory and file's directory

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

据我理解

  1. 您的reader.py文件和corpus目录始终位于同一目录中
  2. 您正在寻找一种从corpus引用reader.py的方法,无论您将它们放在目录结构中的哪个位置
  3. 在这种情况下,the question that you referred to似乎就是您所需要的。另一种方法是this other answer。使用第二个选项,您的代码将是:

    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__)位获得的信息创建的,这会产生reader.py的当前目录。有关官方文档,请查看the documentation

答案 1 :(得分:0)

ActivityName.this

我使用了Anaconda平台,带有conda环境......我的语料库位置