programming/python

(python) 주기적으로 반복 실행 프로그램

limmmmm 2023. 2. 24. 10:02
반응형

일정 시간마다 반복적으로 수행되도록 하는 프로그램에 대해 설명해드리겠습니다.

- RPI(Raspberry PI)나 아두이노 프로그래밍할 때 유용하게 사용 가능합니다.

 

 

1. schedule 라이브러리 이용하여 일정 주기마다 함수가 동작하도록 구현

schedule.every(시간(초단위)).seconds.do(함수)

2. 반복문을 통해 프로그램 실행

while True:
	schedule.run_pending()
    ...

 

위의 명령어만 있으면 일정 시간마다 함수가 수행되도록 수현할 수 있습니다.

물론 threading.Timer 를 이용해도 무관합니다.

 

예제 코드

import schedule
import time

data = []
i = 0

def show_data():
    global data
    global i
    print(data)
    data = []
    i = 0

schedule.every(1).seconds.do(show_data)

while True:
    schedule.run_pending()
    i += 1
    data.append(i)
    time.sleep(0.1)

<코드설명>

- 전역변수(리스트) data에 전역변수 i를 0.1초에 1씩 증가시키면서 append(붙이기) 수행

- 1초 주기로 data 리스트 출력 후 초기화

 

그러면 1초 주기로 아래와 같이 출력이 됩니다!

 

추가 질문사항 또는 잘못된 사항이 있으면 댓글 남겨주세요

반응형