Python 타이머 인 스 턴 스 코드
import threading
def fun_timer():
print('Hello Timer!')
timer = threading.Timer(1, fun_timer)
timer.start()
출력 결과:
Hello Timer!
Process finished with exit code 0
한 번 만 출력 하면 프로그램 이 끝 납 니 다.분명히 우리 가 원 하 는 결과 가 아 닙 니 다.Timer 클래스 의 해석 적 설명 보기:
"""Call a function after a specified number of seconds"""
한 동안 후에 함 수 를 호출 했 지만,이 함 수 를 순환 적 으로 호출 하 겠 다 고 는 말 하지 않 았 다.따라서 다음 과 같이 수정 합 니 다.
def fun_timer():
print('Hello Timer!')
global timer
timer = threading.Timer(5.5, fun_timer)
timer.start()
timer = threading.Timer(1, fun_timer)
timer.start()
출력 결과:
Hello Timer!
Hello Timer!
Hello Timer!
Hello Timer!
............
타이머 가 정상적으로 작 동 하 다.Python 타 이 머 를 사용 할 때 다음 과 같은 네 가지 측면 에 주의해 야 합 니 다.
(1)타이머 구조 함 수 는 주로 2 개의 매개 변수 가 있 는데 첫 번 째 매개 변 수 는 시간 이 고 두 번 째 매개 변 수 는 함수 이름 이 며 첫 번 째 매개 변 수 는 얼마나 시간 을 표시 한 후에 뒤의 두 번 째 매개 변수 가 가리 키 는 함 수 를 호출 합 니까?두 번 째 매개 변 수 는 함수 대상 입 니 다.매개 변 수 를 전달 하고 함수 명(예 를 들 어 funtimer)이 대상 을 표시 합 니 다.함수 실행 문 으로 쓸 수 없습니다 funtimer(),그렇지 않 으 면 잘못 보고 할 수 있 습 니 다.type 으로 보면 둘 의 차 이 를 알 수 있 습 니 다.
print(type(fun_timer()))
print(type(fun_timer))
출력:
Hello Timer!
<class 'NoneType'>
<class 'function'>
(2)타이머 실행 함수 내부 에서 타이머 구 조 를 반복 해 야 합 니 다.타이머 구조 후 1 회 만 실행 하고 순환 적 으로 호출 해 야 하기 때 문 입 니 다.(3)타이머 간격 단 위 는 초 이 고 부동 소수점 일 수 있 습 니 다.예 를 들 어 5.5,0.02 등 함수 fun 을 실행 하고 있 습 니 다.timer 내부 와 외부 에서 주 는 값 은 다 를 수 있 습 니 다.전례대로 fun 처음 실행timer 는 1 초 후,뒤쪽 은 5.5 초 후에 실 행 됩 니 다.
(4)cancel 을 사용 하여 타이머 작업 을 중단 할 수 있 습 니 다.다음 과 같 습 니 다.
# -*- coding: utf-8 -*-
import threading
import time
def fun_timer():
print('Hello Timer!')
global timer
timer = threading.Timer(5.5, fun_timer)
timer.start()
timer = threading.Timer(1, fun_timer)
timer.start()
time.sleep(15) # 15
timer.cancel()
출력:
Hello Timer!
Hello Timer!
Hello Timer!
Process finished with exit code 0
다음은 Python 이 쓴 타이머 입 니 다.시간 정 도 를 조절 하여 공유 할 수 있 습 니 다.
# -* coding: utf-8 -*-
import sys
import os
import getopt
import threading
import time
def Usage():
usage_str = ''' :
\t
\timer.py -h , --help
\timer.py -d num ( )
\t --duration=num
'''
print(usage_str)
def args_proc(argv):
''' '''
try:
opts, args = getopt.getopt(sys.argv[1:], 'hd:', ['help', 'duration='])
except getopt.GetoptError as err:
print(' ! 。
')
Usage()
sys.exit(255)
if len(opts) < 1:
print(' : 。')
Usage()
sys.exit(255)
usr_argvs = {}
for op, value in opts:
if op in ('-h', '--help'):
Usage()
sys.exit(1)
elif op in ('-d', '--duration'):
if int(value) <= 0:
print(' ! %s 。
' % (value))
Usage()
sys.exit(2)
else:
usr_argvs['-d'] = int(value)
else:
print('unhandled option')
sys.exit(3)
return usr_argvs
def timer_proc(interval_in_millisecond):
loop_interval = 10 # , ( ), , ,
t = interval_in_millisecond / loop_interval
while t >= 0:
min = (t * loop_interval) / 1000 / 60
sec = (t * loop_interval) / 1000 % 60
millisecond = (t * loop_interval) % 1000
print('\rThe remaining time:%02d:%02d:%03d...' % ( min, sec, millisecond ), end = '\t\t')
time.sleep(loop_interval / 1000)
t -= 1
if millisecond != 0:
millisecond = 0
print('\rThe remaining time:%02d:%02d:%03d...' % ( min, sec, millisecond ), end = '\t\t')
print()
#
if __name__ == '__main__':
usr_argvs = {}
usr_argvs = args_proc(sys.argv)
for argv in usr_argvs:
if argv in ( '-d', '--duration'):
timer_proc(usr_argvs[argv])
else:
continue
총결산이상 은 Python 타이머 인 스 턴 스 코드 에 관 한 모든 내용 입 니 다.도움 이 되 기 를 바 랍 니 다.참고:Python 생 성 디지털 이미지 코드 공유,Python 목록 에서 삭제 하 는 세 가지 방법 코드 공유,가장 많이 사용 되 는 Python 딥 러 닝 라 이브 러 리 13 개 소개등 문제 가 있 으 면 언제든지 메 시 지 를 남 길 수 있 습 니 다.여러분 의 교류 참 고 를 환영 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.