python大蛇_让大蛇(Python)帮你找工作

前段时间用Python实现了一个网络爬虫(

在这种情况下要使用Timer功能,除了第三方的模块外,可以通过使用标准库为我们提供的sched模块和Timer类。这两个类也只能算是用来现实Timer的工具类,而不能算是真正的Timer.下面对这两种类如何实现Timer做个简单的演示

(1)sched

准确的说,它是一个调度(延时处理机制),每次想要定时执行某任务都必须写入一个调度。

'''

使用sched模块实现的timer,sched模块不是循环的,一次调度被执行后就Over了,如果想再执行,可以使用while循环的方式不停的调用该方法

Created on 2013-7-31

@author: Eric

'''

import time, sched

#被调度触发的函数

def event_func(msg):

print("Current Time:", time.strftime("%y-%m-%d %H:%M:%S"), 'msg:', msg)

def run_function():

#初始化sched模块的scheduler类

s = sched.scheduler(time.time, time.sleep)

#设置一个调度,因为time.sleep()的时间是一秒,所以timer的间隔时间就是sleep的时间,加上enter的第一个参数

s.enter(0, 2, event_func, ("Timer event.",))

s.run()

def timer1():

while True:

#sched模块不是循环的,一次调度被执行后就Over了,如果想再执行,可以使用while循环的方式不停的调用该方法

time.sleep(1)

run_function()

if __name__ == "__main__":

timer1()

(2)Timer

Timer类也是一次性触发的,思路和sched大概差不多

'''

Created on 2013-7-31

@author: Eric

'''

import time

import threading

def timer_start():

t = threading.Timer(1, test_func, ("Parameter1",))

t.start()

def test_func(msg1):

print("I'm test_func,", msg1)

timer_start()

def timer2():

timer_start()

while True:

time.sleep(1)

if __name__ == "__main__":

timer2()

虽然说上面的两种现实看起来都很蠢,但是如果不借助第三方的库,可能也只能这样了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值