2011-09-02 41 views
1

我已經構建了一個安裝了大量外部文件的python包。我需要能夠從包中安裝的腳本中讀取這些文件。我可以看到,我可以用我的__file__腳本中,並將其返回是這樣的:如何從包含的腳本中查找使用我的python包安裝的其他文件?

/Library/Python/2.6/site-packages/M5-0.3.0-py2.6.egg/EGG-INFO/scripts/.. 

,所以我可以導航到該文件的安裝(該.egg目錄的頂層),但我m正在尋找更「標準」的方式來確定我的軟件包的安裝位置。

回答

1

確實os.getcwd()讓你在任何地方關閉? (它返回'當前工作目錄',通常是您發佈主腳本的目錄)

使用__file__會出現什麼問題?如果您正在尋找更高級別的功能,它可能會使用類似的技術。

import os 
d = os.path.dirname(__file__[:__file__.rindex(os.extsep+'egg')]) 

給你的目錄; 「導航」將其與

os.startfile(d) 
2

你可能想要的東西,如 pkgutil.get_data功能。

如果您的軟件包作爲磁盤上的標準python軟件包目錄結構存在,並且我認爲它會從壓縮的蛋中讀取資源(儘管我沒有用它作爲我自己)。

相關問題