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中的hashlib和base64加密模块使用实例
Sep 02 Python
Python部署web开发程序的几种方法
May 05 Python
python绘制条形图方法代码详解
Dec 19 Python
python删除不需要的python文件方法
Apr 24 Python
matplotlib 输出保存指定尺寸的图片方法
May 24 Python
pygame实现雷电游戏雏形开发
Nov 20 Python
Python 进程之间共享数据(全局变量)的方法
Jul 16 Python
Python pip安装第三方库实现过程解析
Jul 09 Python
python zip()函数的使用示例
Sep 23 Python
利用python做表格数据处理
Apr 13 Python
python编程项目中线上问题排查与解决
Nov 01 Python
Python find()、rfind()方法及作用
Dec 24 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 一元分词算法
2009/11/30 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
使用PHPExcel实现数据批量导出为excel表格的方法(必看)
2017/06/09 PHP
PHP依赖注入原理与用法分析
2018/08/21 PHP
键盘控制事件应用教程大全
2006/11/24 Javascript
Javascript alert消息换行的方法
2013/08/07 Javascript
Jquery解析json数据详解
2013/12/26 Javascript
原生javascript实现简单的datagrid数据表格
2015/01/02 Javascript
jquery增加和删除元素的方法
2015/01/14 Javascript
javascript编写贪吃蛇游戏
2015/07/07 Javascript
jquery获得当前html页面源码的方法
2015/07/14 Javascript
JQuery手速测试小游戏实现思路详解
2016/09/20 Javascript
微信小程序  wx.request合法域名配置详解
2016/11/23 Javascript
微信小程序 开发之顶部导航栏实例代码
2017/02/23 Javascript
Vue中计算属性computed的示例解读
2017/07/26 Javascript
微信小程序实现文件、图片上传功能
2020/08/18 Javascript
js实现拾色器插件(ColorPicker)
2020/05/21 Javascript
Python复制Word内容并使用格式设字体与大小实例代码
2018/01/22 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
2018/05/30 Python
Python把csv数据写入list和字典类型的变量脚本方法
2018/06/15 Python
深入浅析Python传值与传址
2018/07/10 Python
Python判断字符串是否xx开始或结尾的示例
2019/08/08 Python
浅谈Python_Openpyxl使用(最全总结)
2019/09/05 Python
django从后台返回html代码的实例
2020/03/11 Python
高清安全摄像头系统:Lorex Technology
2018/07/20 全球购物
银行实习生自我鉴定范文
2013/09/19 职场文书
园林毕业生自我鉴定范文
2013/12/29 职场文书
网上卖盒饭创业计划书范文
2014/02/07 职场文书
楼面部长岗位职责范本
2014/02/14 职场文书
个人委托书怎么写
2014/09/17 职场文书
私用公车造成事故检讨书
2014/11/16 职场文书
英文商务邀请函范文
2015/01/31 职场文书
保研专家推荐信范文
2015/03/25 职场文书
2015年办公室主任工作总结
2015/04/09 职场文书
信用卡工资证明范本
2015/06/19 职场文书
Python实现学生管理系统(面向对象版)
2021/06/24 Python