Python에서 홈 디렉터리 경로 구하기
Python에서 사용자의 홈 디렉터리(홈 폴더) 경로를 확인해야 하는 경우가 종종 있습니다. 가장 간단하고 널리 사용되는 방법은 os 모듈의 os.path.expanduser('~') 함수를 활용하는 것입니다.
1. os.path.expanduser() 사용하기
os.path.expanduser('~')는 경로 문자열에 포함된 물결표(~)를 실제 홈 디렉터리의 절대 경로로 확장해 줍니다. 이 함수는 짧은 경로뿐만 아니라 ~/Documents/my_folder/처럼 홈 디렉터리가 포함된 더 긴 경로에서도 정상적으로 동작합니다.
만약 경로에 ~가 포함되어 있지 않다면, 함수는 입력받은 경로를 그대로 변경 없이 반환합니다.
사용 예시는 다음과 같습니다.
import os
print(os.path.expanduser('~'))
위 코드를 실행하면 운영체제에 따라 다음과 같은 결과가 출력됩니다.
- Linux/macOS:
/home/username또는/Users/username - Windows:
C:\Users\username
2. 환경 변수 HOME 조회하기
또 다른 방법으로는 시스템 환경 변수에서 HOME 값을 직접 읽어오는 방법이 있습니다.
import os
print(os.environ['HOME'])
다만 이 방법에는 주의할 점이 있습니다. Windows 환경에서는 HOME 환경 변수가 기본적으로 설정되어 있지 않은 경우가 많아 KeyError가 발생할 수 있습니다. 반면 os.path.expanduser('~')는 운영체제와 관계없이 안정적으로 동작하므로, 크로스 플랫폼 코드를 작성할 때는 첫 번째 방법을 사용하는 것이 좋습니다.
3. pathlib 모듈 활용하기 (Python 3.5 이상)
최신 Python 스타일을 선호한다면 pathlib 모듈을 사용하는 것도 좋은 선택입니다. 객체 지향적인 방식으로 경로를 다룰 수 있어 가독성이 뛰어납니다.
from pathlib import Path
print(Path.home())
Path.home()은 내부적으로 os.path.expanduser('~')와 동일한 원리로 동작하며, Path 객체를 반환하므로 파일·디렉터리 조작과 자연스럽게 연결할 수 있다는 장점이 있습니다.