有什么方法可以在 Python 中获取当前存档名称?
就像是
EggArchive.egg
库
---SomePythonFile.py
从 SomePython.py 中,是否有获取 .egg 名称的方法?
该变量__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__))
'../..'