실행 중인 파일의 이름과 path를 알아내는 방법 없을까요


발생하는 문제 및 실행환경

다른 스크립트 파일을 불러내는 코드를 만들고 있습니다. 다른 스크립트를 호출하기 전에 먼저 지금 실행 중인 스크립트의 이름과 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 해서 쓸 수가 없었습니다. 다른 방법은 뭐가 있을까요

  • 2016년 01월 27일에 작성됨

조회수 295


1 답변


좋아요
0
싫어요
채택취소하기

자기 자신의 이름과 소속 디렉토리를 알아내는 메소드는 다음과 같이 쓸 수 있습니다.

  • 이름 : 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가 속한 디렉토리
  • 2016년 01월 27일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close