0

有什么方法可以在 Python 中获取当前存档名称?

就像是

EggArchive.egg


---SomePythonFile.py

从 SomePython.py 中,是否有获取 .egg 名称的方法?

4

1 回答 1

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__))
'../..'
于 2013-08-12T16:55:56.283 回答