파이썬에서 다른 파일에서 받아온 변수를, 다시받아와서 리프레쉬 하려면?
파이썬에서 무한루프를 통해 반복되는 로직이 수행되고 있다고 가정하자.
그리고 이 무한루프문에서 사용되는 변수는, 다른 *.py 파일에서 import 해와서 사용하고 있다고 생각해보자.
그런데 *.py 파일의 변수값이 변경된다면?
그리고 변경된 변수값을 무한루프문에 수시로 반영해줘야 한다면 어떻게 할까?
이럴때 사용할 수단이 있다. 바로 reload 이다.
위 테스트 구문을 살펴보자.
whileTemp에서는 test를 import 한 후, 더하기를 출력해주고 있다.
그런데, 이 값은 test.py 에서 유동적으로 변동되는 값이다. 그리고 이 값은 매번 while 문에 적용되어야 한다. 어떻게 해야할까?
이럴때 사용할 수 있는 방법이 reload 이다.
from imoprtlib import reload 를 선언해주고, start() 구문을 호출하면 reload가 실행된다. reload 내부 변수에는, 호출하는 변수가 선언된 test 파일을 넣어준다.
이제 while 문에 적용을 해본다면 아래와 같다.
while 문 안에서 reload를 직접 선언해주거나, def start()를 호출하면 된다.
이때 주의할 점은, 계산식에서 보는바와 같이 test.test2 형태로 적용해야 한다는 점이다. 만약 test2 + test3 와 같이, 앞에 import 대상을 별도로 지정해주지 않았다면 reload가 되지 않는다. (물론 이전 변수로 계산은 되겠지만... 갱신되지 않은 값이 의미없이 반복될 뿐이다.)
글쓴이 : xpro.jason@gmail.com
[무단배포는 노노, 링크배포는 Okay]
- 글작가 Jason 의 병맛지식 -
'Tech > IT기술 리뷰' 카테고리의 다른 글
[AWS] AWS 리전 (Region), 가용영역(AZ), 엣지로케이션 이란 (0) | 2022.03.28 |
---|---|
맥북 한자 입력하는 방법 (0) | 2022.03.07 |
파이썬 - 멀티프로세싱 종료처리 하기 (terminate가 안먹힐때) (0) | 2022.02.21 |
파이썬 - 멀티스레드를 따로따로 종료시켜보자 (+ 재시작시켜보자) (0) | 2022.02.18 |
인문계 Java - 기본문법, if 와 for 만 알아도 중급이다 (0) | 2022.02.17 |
댓글