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中子类继承父类的__init__方法实例
Dec 15 Python
python3中set(集合)的语法总结分享
Mar 24 Python
Python实现的简单模板引擎功能示例
Sep 02 Python
Python使用OpenCV进行标定
May 08 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
Nov 07 Python
python3通过selenium爬虫获取到dj商品的实例代码
Apr 25 Python
解决django 新增加用户信息出现错误的问题
Jul 28 Python
python 提取文件指定列的方法示例
Aug 07 Python
Django启动时找不到mysqlclient问题解决方案
Nov 11 Python
python复合条件下的字典排序
Dec 18 Python
2021年最新用于图像处理的Python库总结
Jun 15 Python
手把手教你实现PyTorch的MNIST数据集
Jun 28 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学习笔记 (1) 环境配置与代码调试
2011/06/19 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
2014/03/18 PHP
PHP采集类snoopy详细介绍(snoopy使用教程)
2014/06/19 PHP
php导出CSV抽象类实例
2014/09/24 PHP
javascript学习笔记(八) js内置对象
2012/06/19 Javascript
jquery必须知道的一些常用特效方法及使用示例(整理)
2013/06/24 Javascript
JS获取URL中参数值(QueryString)的4种方法分享
2014/04/12 Javascript
Node.js模块加载详解
2014/08/16 Javascript
JavaScript数组Array对象增加和删除元素方法总结
2015/01/20 Javascript
Nodejs学习笔记之入门篇
2015/04/16 NodeJs
jQuery.prop() 使用详解
2015/07/19 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
2015/11/30 Javascript
bootstrap中模态框、模态框的属性实例详解
2017/02/17 Javascript
微信小程序登录数据解密及状态维持实例详解
2019/05/06 Javascript
VUE渲染后端返回含有script标签的html字符串示例
2019/10/28 Javascript
Vue+element-ui添加自定义右键菜单的方法示例
2020/12/08 Vue.js
sqlalchemy对象转dict的示例
2014/04/22 Python
python在windows下实现ping操作并接收返回信息的方法
2015/03/20 Python
Python多线程爬虫简单示例
2016/03/04 Python
详解tensorflow训练自己的数据集实现CNN图像分类
2018/02/07 Python
python使用tornado实现简单爬虫
2018/07/28 Python
在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程
2020/08/07 Python
利用CSS3的checked伪类实现OL的隐藏显示的方法
2010/12/18 HTML / CSS
HTML5如何为形状图上颜色怎么绘制具有颜色和透明度的矩形
2014/06/23 HTML / CSS
移动端Html5页面生成图片解决方案
2018/08/07 HTML / CSS
为中国消费者甄选天下优品:网易严选
2016/08/11 全球购物
德国百年厨具品牌WMF美国站:WMF美国
2016/09/12 全球购物
最新自我评价范文
2013/11/16 职场文书
企业演讲稿范文
2013/12/28 职场文书
民族团结先进个人材料
2014/02/05 职场文书
民族学专业求职信
2014/07/28 职场文书
公司授权委托书格式样本
2014/10/01 职场文书
总经理岗位职责
2015/02/04 职场文书
辞职申请书范本
2019/05/20 职场文书
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
2021/04/24 Python
十大最强电系宝可梦,阿尔宙斯电系之一,第七被称为雷神
2022/03/18 日漫