TIL #23 Python-파일 경로 탐색

강경훈·2020년 8월 21일
0
post-thumbnail

파이썬은 module 또는 package가 import 되었을 때 3가지 방법으로 해당 파일 있는지 확인한다.

1. sys.module

  • dictionary 형태의 data
  • import된 module 또는 package 를 저장
  • 이미 import된 module 또는 package는 다시 찾지 않도록 함
  • 새롭게 import된 module 또는 packag는 찾을 수 없음

2. Built-in modules

  • 파이썬에서 제공하는 공식 라이브러리
  • 이미 파이썬에 포함되어 있어 쉽게 찾음
  • sys module 또한 파이썬에서 제공하는 라이브러리이기 때문에 built-in 방식으로 찾음

3. sys.path

  • list 형태의 data
  • Python 라이브러리가 설치되어 있는 디렉터리를 보여줌
  • 디렉터리들 안에 module 또는 package가 있으면 해당 module 또는 package 사용 가능
  • 디렉터리 안에 없는 파일은 sys.path.append("경로")을 이용해 경로를 추가하여 사용 가능

4. Absolue path vs Relative path

1) Absolute path

  • 파일의 경로를 프로젝트의 최성위 디렉터리부터 시작
  • 프로젝트 내에서는 항상 경로가 동일 함
  • 경우의 따라 경로의 길이가 길어질 수 있음

2) Relative path

  • Absolute path의 경로가 길어지는 것을 보완
  • (.)은 현재 파일의 위치이며 현재 위치에 있는 파일을 import
    -(..)은 현재 위치에서 상위 디렉터리에 있는 파일을 import
  • Relative path은 파일의 경로를 헷갈리기 쉽고, 위치 변경시 파일의 경로를 다시 설정해야 한다.
  • Absolute path을 사용하는 것을 권장

    -현재 파일이 package2의 module3에 위치
    -현재 파일 위치의 class1을 import 함
    -현재 파일 위치의 subpackage의 module5의 function2을 import 함
profile
방랑하는 개발자

0개의 댓글