본문 바로가기
반응형

파이썬5

파이썬 - 변수값을 다시 받아오기 (+ reload 변수 리프레쉬) 파이썬에서 다른 파일에서 받아온 변수를, 다시받아와서 리프레쉬 하려면? 파이썬에서 무한루프를 통해 반복되는 로직이 수행되고 있다고 가정하자. 그리고 이 무한루프문에서 사용되는 변수는, 다른 *.py 파일에서 import 해와서 사용하고 있다고 생각해보자. 그런데 *.py 파일의 변수값이 변경된다면? 그리고 변경된 변수값을 무한루프문에 수시로 반영해줘야 한다면 어떻게 할까? 이럴때 사용할 수단이 있다. 바로 reload 이다. 위 테스트 구문을 살펴보자. whileTemp에서는 test를 import 한 후, 더하기를 출력해주고 있다. 그런데, 이 값은 test.py 에서 유동적으로 변동되는 값이다. 그리고 이 값은 매번 while 문에 적용되어야 한다. 어떻게 해야할까? 이럴때 사용할 수 있는 방법이 r.. 2022. 2. 22.
파이썬 - 멀티프로세싱 종료처리 하기 (terminate가 안먹힐때) 파이썬에서 멀티프로세싱을 종료시켜보자 파이썬에서 멀티스레드를 종료하는 법에 대해 지난 글에서 알아보았다. https://xprojason.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%A9%80%ED%8B%B0%EC%8A%A4%EB%A0%88%EB%93%9C%EB%A5%BC-%EB%94%B0%EB%A1%9C%EB%94%B0%EB%A1%9C-%EC%A2%85%EB%A3%8C%EC%8B%9C%EC%BC%9C%EB%B3%B4%EC%9E%90-%EC%9E%AC%EC%8B%9C%EC%9E%91%EC%8B%9C%EC%BC%9C%EB%B3%B4%EC%9E%90 파이썬 - 멀티스레드를 따로따로 종료시켜보자 (+ 재시작시켜보자) 파이썬에서 멀티스레드는 유용한 기능이다. 하나의 .. 2022. 2. 21.
파이썬 - 멀티스레드를 따로따로 종료시켜보자 (+ 재시작시켜보자) 파이썬에서 멀티스레드는 유용한 기능이다. 하나의 스레드에 각각의 하위 스레드와 데몬 스레드가 작동하게 만들고, 불필요하거나 재기동이 필요한 스레드는 종료시켰다가 다시 시작하게 할 수 있다. 이렇게 하면, 목적에 따라 여러 스레드를 조작하는 것이 가능하다. 스레드의 종료는 os 로 종료시키는 것이 아니라, exception 을 발생시켜서 종료처리한다. 단일 스레드라면 os.excel 기능을 활용하여 재시작 처리시키는 방법도 있지만, 다중스레드에서는 exception을 발생시키는 것이 간편하고 유용하다. 아래는 스레드 종료처리를 발생시키는 예제이다. 스레드의 발생은 testdef에서 flag가 S에 해당하는 경우이다. 스레드네임을 thread_ex_test class에 name 지정한다. 그리고 start를.. 2022. 2. 18.
[파이썬] *.py 파일을 *.exe 실행파일로 만들기 파이썬 파일을 윈도우 실행파일로 만들고자 한다. 이렇게 하는 이유는, 24시간 돌아가야 할 파이썬 파일이 있는데, 가끔 쓰레드가 종료될 경우가 있다. 그렇게 되지 않으려면 실행여부를 점검하는 파이썬 체크 파일로 24시간 돌아가야하는 파일 실행여부를 점검하고, 체크파일은 윈도우 스켸쥴러로 주기적인 실행을 돌려줘야한다. 그런데, 체크파일에서 체크가능한 체크파일의 확장자는 exe와 일부 파일에 한정된다. 그래서, 파이썬 파일을 *.exe파일로 변환하는 방법을 찾아보았다. 1. 먼저 pyinstaller 를 설치한다 > pip install pyinstaller 2. 명령어를 실행한다 설치후에 윈도우 실행파일을 만들고자하는 파일명을 입력한다. > pyinstaller -w -F [파일명] 정확하게는 C:\~~ .. 2022. 2. 7.
ciso8601 설치시 오류 메시지 anaconda를 사용하여 ciso8601을 설치하는 과정중에 오류가 발생하였다. 오류 메시지는 아래와 같다. distutilsplatformerror( setuptools.distutils.errors.distutilsplatformerror: microsoft visual c++ 14.0 or greater is required. error: could not build wheels for ciso8601 뭐지? 하고 한참을 생각했으나, 단서를 찾을 수 없었다. 파이썬쪽은 처음이기도 하고. 그러던 중 찾은 단서는 visual c++ or visual build tool 이었다. anaconda로 pip install을 수행할때는 visual build 툴을 활용한 빌드작업이 필수인 것으로 보인다. 그.. 2022. 1. 13.
반응형