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发送form-data请求及拼接form-data内容的方法

 网上关于使用python 的发送multipart/form-data的方法,多半是采用 ulrlib2 的模拟post方法,如下: import urllib2 bo...

基于scrapy的redis安装和配置方法

在定向爬虫的制作过程中,使用分布式爬取技术可以显著提高爬取效率。而 Redis 配合 Scrapy 是实现分布式爬取的基础。 Redis 是一个高性能的 Key-Value 数据库,它把...

Python任意字符串转16, 32, 64进制的方法

Python字符串转数字 import binascii s = 'test123456test' str_16 = binascii.b2a_hex(s.encode...

Python实现批量检测HTTP服务的状态

Python实现批量检测HTTP服务的状态

用Python实现批量测试一组url的可用性(可以包括HTTP状态、响应时间等)并统计出现不可用情况的次数和频率等。 类似的,这样的脚本可以判断某个服务的可用性,以及在众多的服务提供者中...

Python中的FTP通信模块ftplib的用法整理

Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件. FTP的工作流程及基本操作可参考协议RFC959. ftp登陆连...