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写的一个优美的定时器,定时精度可调

时间: 2024-12-28 09:12:11

Python写的一个优美的定时器,定时精度可调的相关文章

Python写了一个WC命令

Python 写了一个收发数据用的一个wc命令,更多学习交流请加365534424 ,直接上代码 #!/usr/bin/env python # coding:utf-8 # author: 51reboot.com # QQ群:365534424 from optparse import OptionParser import os class Wc(object):     def __init__(self):         self.n = 0              # line 

python 写的一个url检测脚本,转成exe定时执行

#python2.7下编写.使用python abc.py py2exe 转成exe#所以需要安装py2exe包#filename:webmonitor.py import osimport sysimport pycurlimport StringIOimport jsonimport timeimport smtplibimport ConfigParserfrom email.mime.text import MIMETextfrom email.header import Header#

给女朋友用Python写了一个自动抽奖程序!Python在手,奖品我有!

我相信大部分的女孩子都是喜欢买买买的,我还没有见过不喜欢买东西的女孩子,当然很多东西也是有抽奖这项优惠的,很多小程序都有抽奖这个功能的,好了废话不多说了,为了给女朋友写这款抽奖程序,可谓是呕心沥血!不过看到她开心就比什么都重要了,我虽然没钱,但是我会尽我最大的努力给她我能给的!哈哈哈 ,一般程序员都是单身狗,不好意思,给你们吃了一波狗粮! 我前几天发现了之后就把那里的所有奖品都点了一次,就突发萌想,能不能用 python 来实现自动抽奖啊?这样就不用我每天都点进去看了,我只需要关心是否中奖就可以

Python写的一个文件上传upload

#!/usr/bin/env python #coding:utf-8 ''' @date:2014-11-30 @filename:simpleUp.py ''' import web urls=( '/','index', '/test','mytest', '/upload','Upload', ) app = web.application(urls,locals()) class mytest: def GET(self): return "<b><h1>myt

拿Python写了一个备份结果监控程序

1.背景说明 前段时间为公司制定了一套备份解决方案 需要每天被告知备份是否OK 2.流程 3.代码 #!/usr/bin/env python # -*- coding: utf-8 -*- import smtplib import email.mime.multipart import email.mime.text import time import subprocess def mailalter(user,receivers,subject,servername,status):  

用python写了一个跟踪路由的小东西

转载:http://www.iteye.com/topic/550804 collect.py,  这个只能在Linux下用...#!/usr/bin/python 因为使用的是traceroute命令 import sys import os import thread import cPickle import time import re from socket import inet_ntoa from subprocess import Popen, PIPE import dpkt

python 写的一个mongodb压力测试

1 #!/usr/bin/env python 2 #coding=utf-8 3 #Author: Ca0Gu0 4 5 from pymongo import MongoClient 6 import datetime,time 7 8 9 10 class MongCli(object): 11 12 13 def __init__(self, host="127.0.0.1", port=27017, user='pytest', passwd ='pytest123', da

08年用Python写的一个塞班S60V3上免费发短信的小程序

#-*-coding:utf-8-*- import appuifw2 as appuifw import e32 import urllib import key_codes import uitricks import contacts import messaging import envy import socket import inbox import time def cn(str): return str.decode("utf-8") class main: def

用python写的一个交互式闹钟

#filename 我的小闹钟 import time import sys import winsound a=time.ctime() print("*****************亲现在的时间是",a,"**********************") print("***********************欢迎大家使用付超DIY闹钟小程序***********************") hour1=int(input("