如何从Python类中找到包含的egg文件?

时间:2014-02-09 19:07:28

标签: java python module egg

从Python 2.6开始,可以直接从python命令行运行一个egg文件,方法是加入 main .py文件。

现在......是否可以在运行时检测当前正在执行的python代码是直接从一个egg运行并获取它的路径?

我正在尝试镜像类似的Java功能,可以通过Java的ClassLoader从类中获取包含jar。

1 个答案:

答案 0 :(得分:0)

我手边没有找到更好的pythonic方法来做到这一点:

puria@spaghetti:~$ cat __main__.py 
 import zipfile, os
 module_path = os.path.dirname(__file__)
 print "Is this an egg? ", zipfile.is_zipfile(module_path)

puria@spaghetti:~$ python __main__.py 
 Is this an egg?  False

puria@spaghetti:~$ zip example.egg __main__.py 
 adding: __main__.py (deflated 15%)

puria@spaghetti:~$ python example.egg 
 Is this an egg?  True

希望这很有用,我实际上理解你的问题。