실행 중인 파일의 이름과 path를 알아내는 방법 없을까요
조회수 5632회
발생하는 문제 및 실행환경
다른 스크립트 파일을 불러내는 코드를 만들고 있습니다. 다른 스크립트를 호출하기 전에 먼저 지금 실행 중인 스크립트의 이름과 path를 알아내고 싶은데 어떻게 하면 되나요?
예를 들어
script_1.py
-> script_2.py
를 호출
script_2.py
-> script_3.py
를 호출
script_3.py
-> 아무것도 호출하지 않음
script_2
에서 인자를 전달하지 않고도 script_3
이 자기가 script_3
인걸 알아내야 합니다
os.getcwd()
는 처음 시작했던 스크립트의 path를 return 해서 쓸 수가 없었습니다.
다른 방법은 뭐가 있을까요
1 답변
-
자기 자신의 이름과 소속 디렉토리를 알아내는 메소드는 다음과 같이 쓸 수 있습니다.
- 이름 :
inspect.getfile(inspect.currentframe())
- 디렉토리 :
os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
p1.py:
execfile("p2.py")
p2.py:
import inspect, os print inspect.getfile(inspect.currentframe()) # p2.py의 path print os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) # p2.py가 속한 디렉토리
- 이름 :
댓글 입력