获取调用函数的文件的绝对路径

时间:2017-11-21 09:18:09

标签: python path

我想创建一个util函数,它返回调用该函数的文件的绝对路径,但是我找不到这样做的方法。

为了获得更好的图片,这就是我想要实现的目标。

假设我有以下目录结构:

core/
    utils/
        __init__.py
        files.py
    __init__.py
    service.py

files.py包含

import os

def get_current_dir():
    return os.path.abspath(os.path.dirname(__file__))

service.py包含

from utils.files import get_current_dir


print(get_current_dir())

预期结果不是理想的结果。

我想要实现的目标:/usr/src/app/core
实际输出:/usr/src/app/core/utils

我一直在寻找许多答案,但没有一个例子中有一个函数用来确定路径。

有没有办法或者至少可以实现我所寻找的目标?

谢谢!

1 个答案:

答案 0 :(得分:3)

您只需将__file__作为参数传递即可 在files.py

import os

def get_current_dir(file):
    return os.path.abspath(os.path.dirname(file))
中的

from utils.files import get_current_dir


print(get_current_dir(__file__))