2015-08-18 2 views
0

У меня возникла проблема с назначением статических файлов, содержащих ресурсы.Получить абсолютный путь в Python

Моя структура рабочий каталог:

|- README.md 
|- nlp 
| |-- morpheme 
| |-- |-- morpheme_builder.py 
| |-- fsa_setup.py 
| - tests 
| |-- test_fsa.py 
| - res 
| |-- suffixes.xml 

Код для fsa_setup.py является:

class FSASetup(): 
    fsa = None 
    def get_suffixes(): 
     list_suffix = list() 
     file = os.path.realpath("../res/suffixes.xml") 
     ..... 
if __name__ == "__main__": 
    FSASetup.get_suffixes() 

Код для morpheme_builder.py является:

class MorphemeBuilder: 
    def get_all_words_from_fsa(self): 
     ...... 
if __name__ == "__main__": 
    FSASetup.get_suffixes() 

Когда он вызывается в fsa_setup.py, значение пути к файлу равно '\ res \ suffixes.xml', и это является правильным, но когда реализуется другой случай, значение пути к файлу равно '\ nlp \ res \ suffixes.xml'.

Я знаю, как это работает. Итак, как я могу указать путь ресурса к файл.

ответ

1

Проблема в том, что morpheme_builder.py находится в каталоге morphem. Поэтому, когда вы скажете ../res/suffixes.xml, он вернется в каталог обратно ... так что он пойдет на nlp/res/suffixes.xml. А если вы используете os.path.abspath("../res/suffixes.xml")?

Смежные вопросы