Python 현재 파일 경로 취득 __file__ 사용 방법

파이썬으로 작성한 파이썬 파일 경로를 취득하는 방법을 알아보겠습니다.

현재 열려 있는 파일 위치를 취득하는 처리는 많이 사용하지는 않지만,

로그를 출력한다던가 디버그를 위해서 파일 위치를 취득하는 경우도 많습니다.

또는 정말 무언가 처리를 하기 위해 현재 실행되고 있는 파일 위치를 취득하는 경우도 있습니다.

본론으로 들어가 파일 위치를 취득하는 방법을 보겠습니다.

__file__

__file__ 는 현재 파일이 열려있는 경로와 파일 이름을 가지고 있는 문자열 변수입니다.

현재 소스를 작성 중인 파일에 __file__ 를 출력하면 파일 경로와 이름이 출력되는 것을 확인할 수 있습니다.

print(__file__)

 

__file__ 를 사용하면 대부분 파일 경로와 파일 이름을 취득할 수 있습니다.

하지만 환경 설정에 따라 경로를 취득하지 못하는 경우도 있습니다.

이러한 경우에는 os 모듈을 사용하면 경로를 취득할 수 있습니다.

os 모듈을 사용해 경로를 취득하는 경우에는 절대 경로와 상대 경로로 취득이 가능합니다.

파일의 절대 경로는 abspath를 사용합니다.

import os

os.path.abspath(__file__)

 

abspath를 사용하면 현재 파일의 절대 경로 + 파일 이름을 반환합니다.

파일의 상대 경로는 realpath를 사용합니다.

import os

os.path.realpath(__file__)

 

realpath를 사용하면 표준 경로 + 파일 이름을 반환합니다.

__file__ 을 사용해 소스를 작성한 파일의 경로를 취득하는 방법을 알아봤습니다.

댓글