2013-06-27 2 views
0

Я использую набор инструментов Natural Language Toolkit для написания программы python. В нем я пытаюсь загрузить корпус из моих собственных файлов. Для этого я использую код следующего содержания:Поиск пути для corpus в NLTK

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

Допустим, мой файл называется reader.py и мой корпус файлов находится в директории под названием «Corpus» в том же каталоге, reader.py , Я хотел бы знать способ обобщения поиска пути к файлу выше, так что мой код мог найти путь для каталога «corpus» для любого места для любого, кто использует код. Я пробовал эти сообщения, но они только позволяют мне получить абсолютные пути к файлам: Find current directory and file's directory

Любая помощь была бы принята с благодарностью!

ответ

1

Из того, что я понимаю

  1. Ваш reader.py файл и corpus каталог всегда находятся в той же директории
  2. Вы ищете способ, чтобы обратиться к corpus от reader.py независимо от того, где они находятся в вашем структура каталогов

В этом случае 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.