python定时器使用示例分享

yipeiwu_com6年前Python基础

复制代码 代码如下:

class SLTimer(multiprocessing.Process):
    #from datetime import datetime
    #import time

    def __init__(self, target=None, args=(), kwargs={},date=None,time=None):
        '''\
        @param date 1900-01-01
        @param time 00:00:00
        '''
        super(SLTimer,self).__init__(target=target,args=args,kwargs=kwargs)
        _date = ''
        if date is None:
            _date = datetime.now().__str__()[:10]
        else :
            _date = date

        _time = ''
        if time is None:
            _time = datetime.now().__str__()[11:19]
        else:
            _time = time

        self.__runtime = '%s %s' % (_date,_time)

    def run(self):
        timeLen = len('1900-00-00 00:00:00')

        while True:
            now = datetime.now().__str__()[:timeLen]
            if now>=self.__runtime:
                break
            print 'sleeping... %s' % now
            time.sleep(1.0)

        super(SLTimer,self).run()

测试

复制代码 代码如下:

def show1():
    from datetime import datetime
    print 'hello,current time:%s' % datetime.now().__str__()

def t23():
    from  stock.task import SLTimer

    timer = SLTimer(show1, time='16:31:50')
    timer.start()

相关文章

Python正则表达式经典入门教程

本文实例总结了Python正则表达式基本用法。分享给大家供大家参考,具体如下: 正则表达式在平时做文本处理(爬虫程序去解析html中的字段,在分析log文件的时候需要抓取一些关键数据)的...

python 利用文件锁单例执行脚本的方法

你可能会遇到这样的要求,一个脚本,只允许有一个实例。 在python中,为了实现这个需求,可以引入fcntl模块对文件加一个排他锁,这样一来,先启动的实例拥有了文件锁,而后启动的实例则因...

Python中使用logging模块打印log日志详解

学一门新技术或者新语言,我们都要首先学会如何去适应这们新技术,其中在适应过程中,我们必须得学习如何调试程序并打出相应的log信息来,正所谓“只要log打的好,没有bug解不了”,在我们熟...

Python中的赋值、浅拷贝、深拷贝介绍

和很多语言一样,Python中也分为简单赋值、浅拷贝、深拷贝这几种“拷贝”方式。 在学习过程中,一开始对浅拷贝理解很模糊。不过经过一系列的实验后,我发现对这三者的概念有了进一步的了解。...

Python中线程编程之threading模块的使用详解

threading.Thread Thread 是threading模块中最重要的类之一,可以使用它来创建线程。有两种方式来创建线程:一种是通过继承Thread类,重写它的run方法;另...