[파이썬 기본]경로 설정 & 모듈 탐색 경로 추가

뚱·2024년 9월 6일

Python

목록 보기
1/8
post-thumbnail

1) 경로 설정

1. 절대경로와 상대경로

  • 절대경로 : 해당 파일의 전체 경로(url).
    ex. C:/home/Users/lecture/test.py

  • 상대경로 : 현재 해당 파일의 위치를 기준으로 연결하는 파일의 상대적인 경로
    ex. ../lecture/test.py

2. 슬래쉬(/) & 백슬래쉬()

문제 : 아래에서 현재 C:/data/MixSNIPS/NIPS_2/train.txt의 파일에 위치해 있고, data가 최상위 파일이라고 가정하자.
이때 rt-polarity.pos의 파일을 사용하기 위해 경로를 어떻게 설정해줘야 할까?

  • / : 가장 최상의 디렉토리 (root)
    정답 : /data/MixSNIPS/NIPS_2/rt-polarity.pos

  • ./ : 현재 디렉토리

  • ../ : 상위 디렉토리
    정답 : ../../MR/rt-polarity.pos

3. 슬래시(/) & 백슬래시()

작업을 하다가 같은 코드를 돌렸는데 경로를 인식하지 못한다거나, 경로를 원격서버에서 복사하여 윈도우로 붙여넣었는데 슬래시 방향이 다른 경우가 있었을 것이다. 각각의 차이는 다음과 같다.

  • 슬래시(/) : Window, MacOS 등의 운영체제에서 슬래시(/)를 사용해서 디렉토리 경로를 나타낸다.
  • 백슬래시(\) : Linux, Unix 등의 운영체제에서 백슬래시(\)를 사용해서 디렉토리 경로를 나타낸다.

2) 시스템 환경변수 수정

sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(os.path.abspath(os.path.dirname(__file__))))))

1. 각 코드의 의미

  • __file__ : 현재 실행중인 파이썬 파일의 경로를 나타낸다. 이는 파이썬 스크립트 실행 시, 어떤 경로로 실행하느냐에 따라 상대경로 또는 절대경로가 될 수 있다.
    ex. 터미널에서 python project/example.py를 통한 파일 실행 시, __file__는 project/example.py이다.
    ex. python example.py를 통한 실행일 경우, example.py가 된다.

  • os.path.abspath(path) : 절대경로로 변환한다.

  • os.path.dirname(path) : 주어진 경로에서 디렉토리의 이름을 추출한다. 즉, 파일 이름을 제외한 디렉토리 경로를 반환한다.

  • sys.path.append(path) : 파이썬 모듈을 찾을 수 있는 경로 목록인 sys.path에 새로운 경로를 추가한다.

2. 코드 해석

  • sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__)))) : 현재 실행하는 파이썬 파일의 한 단계 상위 폴더를 시스템 환경변수에 추가한다.
    ex. home/Users/lecture/test.py 경로의 파일을 실행할 경우, home/Users/lecture디렉토리가 모듈 탐색 경로에 추가된다.

  • sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(os.path.abspath(os.path.dirname(__file__)))))) : 현재 실행하는 파이썬 파일의 두 단계 상위 폴더를 시스템 환경변수에 추가한다.
    ex. home/Users/lecture/test.py 경로의 파일을 실행할 경우, home/Users디렉토리가 모듈 탐색 경로에 추가된다.

profile
공부로 뚱뚱해지는 하루하루

0개의 댓글