반응형
Notice
Recent Posts
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Today
Total
관리 메뉴

오식랜드

[python] module 직접 실행 본문

dev-log/python

[python] module 직접 실행

개발하는 오식이 2023. 1. 12. 15:02
반응형

module 직접 실행 + 공용위치로 변경

모듈 직접 실행

실제로 모듈을 만들게 되면 규모나 복잡도에 따라 모듈 내 기능이 올바르게 동작하는지를 확인하는 작업이 반드시 필요합니다.

물론 지금까지 배웠던 것처럼 별도의 파일에서 해당 모듈을 import 해와서 테스트를 해볼 수도 있겠지만 모듈을 직접 실행하면서 확인하는 방법이 아무래도 수월하겠지요.

모듈이 직접 실행되는지, 아니면 별도의 파일에서 호출되어 실행되는지는 이렇게 구분할 수 있습니다.

이 때 name 과 "main" 은 앞 뒤로 밑줄을 2번씩 적어주셔야 한다는 점 주의해주세요.

if __name__ == "__main__": # 직접 실행되는 경우
    pass
else: # 외부에서 호출되어 실행되는 경우
    pass

이 조건문을 thailand.py에 넣어줘보자

class ThailandPackage:
    def detail(self):
        print("태국여행 패키지")
        
if __name__ == "__main__": # 모듈 직접 실행
    print("Thailand 모듈을 직접 실행")
    print("이 문장은 모듈을 직접 실행할 때만 실행돼요")
else: # 외부에서 모듈 호출
    print("Thailand 외부에서 모듈 호출")

이 상태에서 thailand.py 파일을 실행하면 if문에 해당하여 직접 실행을 확인할 수 있고,

package.py에서 모듈을 불러와 실행하면 else문으로 빠진다

그래서 잘 출력되는지 확인하려면 if문 안에 class를 저장하여 detial함수를 호출해보자

class ThailandPackage:
    def detail(self):
        print("태국여행 패키지")
        
if __name__ == "__main__": # 모듈 직접 실행
    print("Thailand 모듈을 직접 실행")
    print("이 문장은 모듈을 직접 실행할 때만 실행돼요")

		trip_to = ThailandPackage()
    trip_to.detail()
	
else: # 외부에서 모듈 호출
    print("Thailand 외부에서 모듈 호출")

모듈 공용위치로 변경

이렇게 열심히 만든 모듈을 프로젝트마다 넣고싶은데, 그럴 때 마다 프로젝트와 같은 위치에 복사할 수도 있지만 어떤 파이썬 파일에서도 접근 가능한 위치로 옮겨주는 방법도 있다

바로 모듈을 C드라이브의 파이썬폴더 내의 Lib 폴더로 옮기는 것 이다.

C:\\Python310\\Lib

random과 같은 함수도 위의 경로에 있기 때문에 xxx.py 파일에서 불러올 수 있던 것이다.

 

 

출처 : https://nadocoding.tistory.com/

반응형

'dev-log > python' 카테고리의 다른 글

내장함수와 외장함수  (0) 2023.01.12
[python] pip install  (0) 2023.01.12
[python] package  (0) 2023.01.12
[python] module  (0) 2023.01.12
[python] class  (0) 2023.01.12
Comments