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


Posted in Python onApril 15, 2018

本文实例为大家分享了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

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

Python 相关文章推荐
Python实现远程调用MetaSploit的方法
Aug 22 Python
Python判断Abundant Number的方法
Jun 15 Python
Python中map,reduce,filter和sorted函数的使用方法
Aug 17 Python
python读取excel表格生成erlang数据
Aug 26 Python
Python调用C# Com dll组件实战教程
Oct 12 Python
Django入门使用示例
Dec 12 Python
python+selenium识别验证码并登录的示例代码
Dec 21 Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
Apr 22 Python
mac使用python识别图形验证码功能
Jan 10 Python
Django serializer优化类视图的实现示例
Jul 16 Python
Python函数递归调用实现原理实例解析
Aug 11 Python
Idea安装python显示无SDK问题解决方案
Aug 12 Python
Python编写一个优美的下载器
Apr 15 #Python
python实现音乐下载器
Apr 15 #Python
tensorflow 1.0用CNN进行图像分类
Apr 15 #Python
tensorflow学习笔记之mnist的卷积神经网络实例
Apr 15 #Python
tensorflow学习笔记之简单的神经网络训练和测试
Apr 15 #Python
Pytorch入门之mnist分类实例
Apr 14 #Python
pytorch构建网络模型的4种方法
Apr 13 #Python
You might like
php类
2006/11/27 PHP
php中rename函数用法分析
2014/11/15 PHP
php中session定期自动清理的方法
2015/11/12 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
图片完美缩放
2006/09/07 Javascript
prototype Element学习笔记(Element篇三)
2008/10/26 Javascript
Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
2010/07/11 Javascript
js getBoundingClientRect() 来获取页面元素的位置
2010/11/25 Javascript
可以用鼠标拖动的DIV实现思路及代码
2013/10/21 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
jQuery实现鼠标经过弹出提示信息的地图热点效果
2015/08/07 Javascript
jQuery 3.0中存在问题及解决办法
2016/07/15 Javascript
javascript html5轻松实现拖动功能
2017/03/01 Javascript
vue + socket.io实现一个简易聊天室示例代码
2017/03/06 Javascript
angularjs实现简单的购物车功能
2017/09/21 Javascript
React通过父组件传递类名给子组件的实现方法
2017/11/13 Javascript
解决JavaScript中0.1+0.2不等于0.3问题
2018/10/23 Javascript
详解JavaScript函数callee、call、apply的区别
2019/03/08 Javascript
微信小程序云开发使用方法新手初体验
2019/05/16 Javascript
js实现秒表计时器
2019/12/16 Javascript
python网络编程学习笔记(九):数据库客户端 DB-API
2014/06/09 Python
python获得两个数组交集、并集、差集的方法
2015/03/27 Python
使用Python压缩和解压缩zip文件的教程
2015/05/06 Python
python网络编程之数据传输UDP实例分析
2015/05/20 Python
从运行效率与开发效率比较Python和C++
2018/12/14 Python
在django中实现页面倒数几秒后自动跳转的例子
2019/08/16 Python
Pytorch保存模型用于测试和用于继续训练的区别详解
2020/01/10 Python
windows10环境下用anaconda和VScode配置的图文教程
2020/03/30 Python
Shopty西班牙:缝纫机在线销售
2018/01/26 全球购物
大学生的自我鉴定范文
2014/01/21 职场文书
英文演讲稿开场白
2014/08/25 职场文书
七一表彰大会简报
2015/07/20 职场文书
《中彩那天》教学反思
2016/02/24 职场文书
中秋节英文祝福语句(14句)
2019/09/11 职场文书
React + Threejs + Swiper 实现全景图效果的完整代码
2021/06/28 Javascript
草系十大最强宝可梦,纸片人上榜,榜首大家最熟悉
2022/03/18 日漫