Python实现定时精度可调节的定时器

 更新时间:2018年04月15日 15:17:21   作者:ccpw_cn  
这篇文章主要为大家详细介绍了Python实现定时精度可调节的定时器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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('错误!请为脚本指定正确的命令行参数。\n') 
    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无效。\n' % (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 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • pycharm 使用心得(八)如何调用另一文件中的函数

    pycharm 使用心得(八)如何调用另一文件中的函数

    事件环境: pycharm 编写了函数do() 保存在make.py 如何在另一个file里调用do函数?
    2014-06-06
  • 详解在Python的Django框架中创建模板库的方法

    详解在Python的Django框架中创建模板库的方法

    这篇文章主要介绍了在Python的Django框架中创建模板库的方法,模版库通常用来管理单独的Django中的应用,需要的朋友可以参考下
    2015-07-07
  • python字典和JSON格式的转换方式

    python字典和JSON格式的转换方式

    这篇文章主要介绍了python字典和JSON格式的转换方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Python pandas求方差和标准差的方法实例

    Python pandas求方差和标准差的方法实例

    标准差(或方差),分为 总体标准差(方差)和 样本标准差(方差),下面这篇文章主要给大家介绍了关于pandas求方差和标准差的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-08-08
  • 3分钟学会一个Python小技巧

    3分钟学会一个Python小技巧

    Python时间日期转换在开发中是非常高频的一个操作,你经常会遇到需要将字符串转换成 datetime 或者是反过来将 datetime 转换成字符串,今天小编给大家带来了一个Python小技巧,感兴趣的朋友一起看看吧
    2018-11-11
  • python图片灰度化处理的几种方法

    python图片灰度化处理的几种方法

    灰度化处理是我们进行图像处理的很重要的一个过程,本文主要介绍了python图片灰度化处理的几种方法,感兴趣的可以了解一下
    2021-06-06
  • python用opencv将标注提取画框到对应的图像中

    python用opencv将标注提取画框到对应的图像中

    这篇文章主要介绍了python用opencv将标注提取画框到对应的图像中,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • python中ConfigParse模块的用法

    python中ConfigParse模块的用法

    这篇文章主要介绍了python中ConfigParse模块的用法,以实例形式讲述了配置文件模块ConfigParse的使用步骤,非常具有实用价值,需要的朋友可以参考下
    2014-09-09
  • python HTTP协议相关库requests urllib基础学习

    python HTTP协议相关库requests urllib基础学习

    这篇文章主要介绍了python HTTP协议相关库requests urllib基础学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • python configparser中默认值的设定方式

    python configparser中默认值的设定方式

    这篇文章主要介绍了python configparser中默认值的设定方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02

最新评论