[TIL] Python | sleep 함수

7389 단어 TILpythonTIL

💤 파이썬 sleep 함수


  • time 모듈의 sleep 함수를 사용하면 일정 시간동안 프로세스를 일시 정지할 수 있음.

  • 동작을 실행 중에 n초 동안 대기했다가 처리를 해야 하거나 다른 API에서 응답을 기다리기 위해 잠시 멈춰야 하거나 하는 경우에 사용할 수 있다.

  • 주로 스레드 관련이나, 특정 시간 후에 프로그램을 실행시키려 할때 사용


😴 사용 예제 1


  • 사용하기 위해선 time 모듈을 import 해야 함

  • time.sleep(float초) 를 입력하면 입력 시간만큼 일시정지 후 다음줄부터 코드가 실행됨

  • 매개변수를 float 타입으로 받기 때문에 0.1초, 0.01초 같이 소수점도 사용 가능.

import datetime # 현재 시간 출력
import time # time모듈의 strftime메소드는 밀리초가 출력되지 않음 

now = datetime.datetime.now() # datetime 모듈의 datetime 클래스를 이용, now()메소드로 현재시간 출력 
#datetime 모듈의 strftime메소드를 사용하면 밀리초까지 출력 가능 
print(now.strftime('%H:%M:%S')) #strftime 메소드로 포매팅
time.sleep(3) # 3초 슬립 

now = datetime.datetime.now() 
print(now.strftime('%H:%M:%S')) 
time.sleep(5) # 5초 슬립
print(datetime.datetime.now().strftime('%H:%M:%S'))


print(datetime.datetime.now().strftime('%H:%M:%S.%f')[:-3]) # 밀리초 3자리까지만 출력 
time.sleep(0.5) # 0.5 초 슬립
print(datetime.datetime.now().strftime('%H:%M:%S.%f')[:-3]) 
time.sleep(0.05) # 0.05 초 슬립 
now = datetime.datetime.now() 
print(now.strftime('%H:%M:%S.%f')[:-3])

🛌 결과



😪 사용 예제 2 (변수 활용)


def timesleep(i):
    now = datetime.datetime.now()
    print ('{}번째 반복'.format(i),now.strftime('%H:%M:%S'))

max_iter = 5
for i in range(max_iter): # 반복문으로 0부터 5까지 1초씩 대기시간이 증가
    time.sleep(i)
    timesleep(i)
    

🌙 결과


좋은 웹페이지 즐겨찾기