在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的当前目录。 查看一些官方文档的文档。

    链接地址: http://www.djcxy.com/p/54717.html

    上一篇: Finding path for corpus in NLTK

    下一篇: Opening Text files in Qpthon 3 on android tablet