Python实现定时精度可调节的定时器
本文实例为大家分享了Python实现定时精度可调节的定时器,供大家参考,具体内容如下
#-*coding:utf-8-*-
importsys
importos
importgetopt
importthreading
importtime
defUsage():
usage_str='''''说明:
\t定时器
\timer.py-h显示本帮助信息,也可以使用--help选项
\timer.py-dnum指定一个延时时间(以毫秒为单位)
\t也可以使用--duration=num选项
'''
print(usage_str)
defargs_proc(argv):
'''''处理命令行参数'''
try:
opts,args=getopt.getopt(sys.argv[1:],'hd:',['help','duration='])
exceptgetopt.GetoptErroraserr:
print('错误!请为脚本指定正确的命令行参数。\n')
Usage()
sys.exit(255)
iflen(opts)<1:
print('使用提示:缺少必须的参数。')
Usage()
sys.exit(255)
usr_argvs={}
forop,valueinopts:
ifopin('-h','--help'):
Usage()
sys.exit(1)
elifopin('-d','--duration'):
ifint(value)<=0:
print('错误!指定的参数值%s无效。\n'%(value))
Usage()
sys.exit(2)
else:
usr_argvs['-d']=int(value)
else:
print('unhandledoption')
sys.exit(3)
returnusr_argvs
deftimer_proc(interval_in_millisecond):
loop_interval=10#定时精度,也是循环间隔时间(毫秒),也是输出信息刷新间隔时间,它不能大于指定的最大延时时间,否则可能导致无任何输出
t=interval_in_millisecond/loop_interval
whilet>=0:
min=(t*loop_interval)/1000/60
sec=(t*loop_interval)/1000%60
millisecond=(t*loop_interval)%1000
print('\rTheremainingtime:%02d:%02d:%03d...'%(min,sec,millisecond),end='\t\t')
time.sleep(loop_interval/1000)
t-=1
ifmillisecond!=0:
millisecond=0
print('\rTheremainingtime:%02d:%02d:%03d...'%(min,sec,millisecond),end='\t\t')
print()
#应用程序入口
if__name__=='__main__':
usr_argvs={}
usr_argvs=args_proc(sys.argv)
forargvinusr_argvs:
ifargvin('-d','--duration'):
timer_proc(usr_argvs[argv])
else:
continue
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。