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