2016-10-01 73 views
0

我已經創建了一個Python包並在本地安裝。使用命令pip install .。在我的軟件包中,需要像這樣打開一個文件。在軟件包目錄內打開一個文件,而不是從當前目錄打開

open('abc.txt','r+') 

但我的問題是,它試圖在工作目錄中,而不是軟件包安裝directory.I打開該文件認爲絕對路徑不會解決我的問題。

所以我的問題是,如何打開包內的文件?

NB:雖然我搜索了它,但看到os.sys.path可能會有所幫助。但我沒有得到任何明確的解決方案。

謝謝

+0

的可能的複製[Python的?如何從包中讀取(靜態)文件(HTTP://計算器。 COM /問題/ 6028000 /蟒蛇,如何閱讀,一個靜態文件從 - 裏面級封裝) –

回答

1

你可以嘗試這樣的:

import os 
import inspect 

def open_file(filename): 
    pkg_dir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) 
    return open(pkg_dir + "/" + filename,'r+')