有没有办法在Python中获取当前的存档名称?
像
这样的东西EggArchive.egg
库
--- SomePythonFile.py
从SomePython.py,无论如何都要获取.egg名称?
答案 0 :(得分:0)
变量__file__
包含当前python文件的路径。所以如果你有一个结构:
.
`- your.egg
`-your_module.py
在your_module.py
中你有一个功能:
def func():
print(__file__)
代码:
import sys
sys.path.append('/path/to/your.egg')
from your_module import func
func()
将打印出来:
/path/to/your.egg/your_module.py
所以基本上你可以操作__file__
变量,如果你知道egg
文件中你的模块的相对位置,并获得egg
的完整路径。
要获取鸡蛋文件中脚本的相对路径,您必须执行此操作:
def rel_to_egg(f):
my_dir = os.path.dirname(os.path.abspath(f))
current = my_dir
while not current.endswith('.egg'):
current = os.path.dirname(current)
return os.path.relpath(current, my_dir)
现在让我们说__file__ == '/test/my.egg/some/dir/my_script.py'
:
>>> print(rel_to_egg(__file__))
'../..'