2017-11-21 6 views
-1

함수를 호출 한 파일의 절대 경로를 반환하는 util 함수를 만들고 싶었지만 그렇게 할 방법을 찾지 못했습니다.함수가 호출 된 파일의 절대 경로 가져 오기

더 나은 그림을 얻으려면이 목표를 달성해야합니다.

가정하자 나는 다음과 같은 디렉토리 구조를 가지고 : files.py

import os 

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

service.py을 포함

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

는 예상 된 결과가 원하는 것을하지

from utils.files import get_current_dir 


print(get_current_dir()) 

이 포함되어 있습니다. 내가 달성하고 싶었다 무엇

: /usr/src/app/core
실제 출력 : 여기 많은 답변에 찾고 있었어요 /usr/src/app/core/utils

,하지만 그들 중 누구도 함수의 경로를 결정하는 데 사용됩니다 예를 들어이 없습니다 .

내가 원하는 것을 얻기 위해 어떤 방법이 있습니까?

감사합니다.

+1

에 files.py

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

에서 매개 변수 로 __file__을 전달할 수 있습니다. 더 나은 이름을 사용해야합니다. – VPfB

+0

[**'inspect' **] (https://docs.python.org/3/library/inspect.html#the-interpreterstack) –

답변

1

당신은 단순히 용어 "현재 디렉토리"는 다른 개념에 사용되는 service.py

from utils.files import get_current_dir 


print(get_current_dir(__file__)) 
+0

하하하, 좀 더 복잡한 용어로 생각했습니다. 고마워요,이 트릭을 했어! – dimmg