# -* 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实现定时精度可调节的定时器相关推荐

  1. python定时器 循环_Python循环定时服务功能(相似contrab)

    Python实现的循环定时服务功能.类似于Linux下的contrab功能.主要通过定时器实现. 注:Python中的threading.timer是基于线程实现的.每次定时事件产生时.回调完响应函数 ...

  2. python定时器 循环_python从写定时器学习Thread

    python从写定时器学习Thread python 如何写一个定时器,循环定时做某一操作呢? Timer 对象 from threading import Timer def hello(): pr ...

  3. linux 多个定时器,timer: 一个Linux下的超级精简的多重定时器:可实现成千上万个定时任务,定时精度可达纳秒级别,且同一时间点可添加不同的任务!适用于云后台服务和嵌入式等各种环境。...

    MT_Timer(MT译为Multiple或Multi) 一.介绍 一个Linux下的超级简洁的定时器:利用epoll机制和timerfd新特性实现的多重.多用.多个定时任务实现.只需要使用TIMER ...

  4. python微信消息定时_python微信定时消息

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 使用supervisor的具体方法,在我这篇文章中有讲过:https:www.z ...

  5. pwd python 安装 模块_Python自动化办公之邮件定时发送

    Python自动化之邮件的定时发送,我们这里使用网易163邮箱. Python邮件操作相关模块的安装 yagmail,The goal here is to make it as simple and ...

  6. python 电脑文件变动提醒_Python实现定时弹窗提醒

    经常用电脑,一坐就是几个小时,总是忘记时间,所以觉得是不是找个定时提醒软件.网上找了还真有还很多,找了一个卫士什么的,装了.到时间以后自动锁屏倒计时.功能不错但是感觉功能太多.不知道大家现在用软件的时 ...

  7. python怎么定时弹窗_Python中定时弹出提醒的实现,弹窗

    经常用电脑,一坐就是几个小时,总是忘记时间,所以觉得是不是找个定时提醒软件.网上找了还真有还很多,找了一个卫士什么的,装了.到时间以后自动锁屏倒计时.功能不错但是感觉功能太多.不知道大家现在用软件的时 ...

  8. C++11的chrono库,可实现毫秒微秒级定时

    C++11有了chrono库,可以很容易的实现定时功能. chrono: chrono库主要包含了三种类型:时间间隔Duration.时钟Clocks和时间点Time point. Duration: ...

  9. python格式化时间戳_python 时间戳处理

    1. python 时间戳处理 Unix 时间戳根据精度的不同,有 10 位(秒级),13 位(毫秒级),16 位(微妙级)和 19 位(纳秒级).在 python 中,我们可以将一个整数的时间戳转换 ...

最新文章

  1. [PWA] Show Notifications when a Service Worker is Installed or Updated
  2. java动态代理技术
  3. [刷题]算法竞赛入门经典(第2版) 4-1/UVa1589 - Xiangqi
  4. Android反射set/get系统属性(SystemProperties)
  5. Java工具-----native2ascii
  6. POJ 2955 Brackets(区间DP)
  7. OCS 2007 R2搭建准备虚机及快照
  8. Atitit.架构设计趋势 设计模式 ---微服务架构  soa
  9. Linux下编译安装redis,详细教程
  10. Esri中国社区 » GIS大讲堂:ArcGIS Server .Net ADF中的AJAX
  11. 单元测试、集成测试、功能测试——Unittest
  12. Real Time Transfer (RTT)
  13. pythonurllib新浪微博_利用python实现新浪微博爬虫_python新浪微博爬虫
  14. 微俱聚平台更新日志jquery时间轴特效
  15. Linux源码编译安装apache httpd2.4.48
  16. 【OpenCV 4】图像像素的归一化
  17. 手机UC禁止左右滑动切页
  18. BitLocker恢复
  19. Unity UGUI 设置Dropdown的选项菜单显示在上面
  20. Factor_mimicking_portfolio(模仿因子的投资组合):EAP.fama_macbeth.Factor_mimicking_portfolio

热门文章

  1. PatchGAN:Image-to-Image Translation with Conditional Adversarial Networks
  2. 汇编语言上机考试三星题——加密的key和明文字符串(二)
  3. 三极管的经典模型——两个二极管连接和三极管人(transistor man)
  4. DataGrid中間隔色的實現
  5. anaconda查看删除增加镜像源
  6. Sass 安装到使用
  7. HDU 2256(矩阵快速幂)
  8. 结对编程-黄金点游戏之旅[二]
  9. 转]@SuppressWarnings 详解
  10. 云服务器上安装Anaconda3 (亲测有效)