2010-09-07 33 views
13

民間如何訪問python蛋文件中的文件?

這可能是一個奇怪的要求,但這是我碰到的。我google搜索,但什麼都沒有。

我編碼誰在使用了很多記錄在一個XML文件中常量屬性/值(他們會不會改變這樣一個靜態文件)的應用程序,東西做工精細,直到我生成的雞蛋文件。

當邏輯到達xml訪問部分時,我得到一個像這樣的投訴: /home/Workspace/my_proj/dist/mps-1.2.0_M2-py2.6.egg/mps/par/client/syntax/ syntax.xml

其實我捆綁在上面的路徑中的XML文件,但似乎蟒蛇不知道如何訪問它。

訪問XML作爲代碼...

file_handler = open(path_to_the_file) 
    lines = file_handler.read().splitlines() 

任何想法?

謝謝你們提前。

回答

9

egg文件zipfiles,所以你必須訪問的「東西」裏面他們與zipfile模塊Python標準庫,內置open功能!

+0

我讀了zipfile模塊的文檔,當然它可以完成這項工作。謝謝〜 – Ripley 2010-09-07 02:36:46

+0

你甚至可以使用安裝它們,sudo easy_install your_eggfile – shahjapan 2010-09-07 07:19:03

0

如果您要訪問的.egg文件裏面的內容,你可以簡單地將其重命名和更改從.egg擴展爲.zip,比解壓。 這將創建一個文件夾,因爲他們當它是例如brewer2mpl-1.4.1-py3.6.egg
一個.egg文件

重命名brewer2mpl-1.4後的內容將是相同的。 1-py3.6.zip

現在,如果我們打開它,它會很容易解壓縮,並且內容將被放入同一目錄中具有相同名稱的文件夾中。 (在macOS Sierra上測試)

0

只是使用解壓縮file.egg這應該就足夠了。