IT/Python

모듈과 경로

우루사이 2023. 11. 20. 00:33

패키지

  • 실행 파일과 동일 레벨의 폴더를 패키지의 일부임을 알리기 위해, __init__.py를 생성해 폴더 안에 위치 시킴
# __init__.py
# 하위 폴더가 더이 상 없을 경우는 입력 내용 불필요
# 만약 하위 파일이나 폴더가 더 있다면 구분없이 모두 추가
__all__ = ['sub1', 'sub2']

 

모듈 경로

  • python이 자동으로 모듈을 탐색하는 경로
  • sys.path 에서 확인 가능
  • os별 경로
# win
<python 설치 경로>/lib : 보통 python 표준 모듈 위치
<python 설치 경로>/lib/site-packages # pip3등 추가 설치 확장 모듈 위치

# linux
/lib/<python 설치 경로>/lib
/lib/<python 설치 경로>/lib/site-packages
  • 임의 경로 불러오기
# win
set PYTHONPATH=%PYTHONPATH%;<new_path>

# linux
export PYTHONPATH=$PYTHONPATH:<new_path>

 

모듈 이름

  • python은 현재 실행 중인 모듈 일름을 __name__ 변수에 저장
  • python이 실행한 첫번째 모듈의 변수는 "__main__.변수명" __name__에 저장

 

모듈 이름으로 사용자 진입점 지정

  • python은 모듈의 첫번째 문장부터 차례로 실행(script 언어 특징)
  • 일반함수 main()을 정의 후 모듈 이름이 __main__일 때 main() 함수부터 실행되도록 사용자 진입점 적용 가능
def main():
    # ret = [] # 지역 변수
    func()

if __name__ == '__main__':
    ret = 10 # 전역 변수
    main()