os 모듈로 현재 파일의 전체 경로 확인하기
파이썬에서 현재 실행 중인 파일의 전체(절대) 경로를 알고 싶다면 표준 라이브러리인 os 모듈을 활용하면 가장 간단하게 해결할 수 있습니다.
핵심은 현재 파일의 경로 정보를 담고 있는 특수 변수 __file__에 os.path.realpath() 함수를 적용하는 것입니다. 이 함수는 심볼릭 링크까지 모두 해석하여 실제 절대 경로를 반환해 줍니다.
예제 코드
>>> import os
>>> print(os.path.realpath(__file__))
/home/ayush/qna/path.py
위 예제에서 볼 수 있듯이, 스크립트가 위치한 디렉터리와 파일명까지 포함된 완전한 경로가 출력됩니다.
참고: 다른 유용한 방법들
1. os.path.abspath() 사용
심볼릭 링크를 해석할 필요가 없다면 os.path.abspath()를 사용해도 됩니다.
import os
print(os.path.abspath(__file__))
2. pathlib 모듈 사용 (권장)
파이썬 3.4 이상에서는 객체 지향적인 경로 처리를 제공하는 pathlib 모듈을 사용하는 것이 더 현대적인 방식입니다.
from pathlib import Path
print(Path(__file__).resolve())
마무리
정리하면, 현재 파일의 전체 경로를 구하는 가장 기본적인 방법은 os.path.realpath(__file__)이며, 최신 파이썬 코드에서는 Path(__file__).resolve()를 사용하는 것을 추천합니다. 상황에 맞는 방법을 선택해 사용하시면 됩니다.