2010-09-07 39 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这应该就足够了。