从Python 2.6开始,可以直接从python命令行运行一个egg文件,方法是加入 main .py文件。
现在......是否可以在运行时检测当前正在执行的python代码是直接从一个egg运行并获取它的路径?
我正在尝试镜像类似的Java功能,可以通过Java的ClassLoader从类中获取包含jar。
答案 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
希望这很有用,我实际上理解你的问题。