2015-08-18 134 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")