网站建设资讯

NEWS

网站建设资讯

包含python函数限制时间的词条

Python中处理时间的几种方法小结

python中的时间模块主要有time, datetime。

创新互联建站是一家专业提供三江侗企业网站建设,专注与成都做网站、网站制作、成都h5网站建设、小程序制作等业务。10年已为三江侗众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。

I, time模块

time模块中包含了四种时间格式:

float格式,即给定时间相对于epoch增加的秒数

tuple格式,一个九元组 (tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst)

string格式,'Mon Feb 6 15:00:06 2012'

format格式,以指定的格式生成的时间

针对这几种时间格式,time模块提供了函数在格式之间相互转换。

asctime(tuple) -string

ctime(float) -string

gmtime(float) -tuple

localtime(float) -tuple

mktime(tuple) -float

strftime(format, tuple) -format string

strptime(formatstring, format) -tuple

time() - float

上述函数中,除了time()函数直接返回当前时间相对于epoch的秒数外,其他函数都要求有时间的输入,如果没有输入,则默认使用当前时间。

另外,strftime和strptime中的format使用下面的格式:

%a 英文星期简写

%A 英文星期的完全

%b 英文月份的简写

%B 英文月份的完全

%c 显示本地日期时间

%d 日期,取1-31

%H 小时, 0-23

%I 小时, 0-12

%m 月, 01 -12

%M 分钟,1-59

%j 年中当天的天数

%w 显示今天是星期几

%W 第几周

%x 当天日期

%X 本地的当天时间

%y 年份 00-99间

%Y 年份的完整拼写

%S 秒(00-59)

除了上述的时间转换函数之外,模块还提供了下面的函数:

clock() 返回进程的创建时间,以秒计数的float

sleep(float) sleep一段时间,以秒计数

tzset() 更改时区

II, datetime

datetime模块定义了下面这几个类:

datetime.date:表示日期的类。常用的属性有year, month, day;datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond;datetime.datetime:表示日期时间。datetime.timedelta:表示时间间隔,即两个时间点之间的长度。datetime.tzinfo:与时区有关的相关信息。(这里不详细充分讨论该类,感兴趣的童鞋可以参考python手册)

注 :上面这些类型的对象都是不可变(immutable)的。

下面详细介绍这些类的使用方式。

date类

date类表示一个日期。日期由年、月、日组成(地球人都知道~~)。date类的构造函数如下:

class datetime.date(year, month, day):参数的意义就不多作解释了,只是有几点要注意一下:

year的范围是[MINYEAR, MAXYEAR],即[1, 9999];month的范围是[1, 12]。(月份是从1开始的,不是从0开始的~_~);day的最大值根据给定的year, month参数来决定。例如闰年2月份有29天;

date类定义了一些常用的类方法与类属性,方便我们操作:

date.max、date.min:date对象所能表示的最大、最小日期;date.resolution:date对象表示日期的最小单位。这里是天。date.today():返回一个表示当前本地日期的date对象;date.fromtimestamp(timestamp):根据给定的时间戮,返回一个date对象;datetime.fromordinal(ordinal):将Gregorian日历时间转换为date对象;(Gregorian Calendar :一种日历表示方法,类似于我国的农历,西方国家使用比较多,此处不详细展开讨论。)

python函数深入浅出 16.time.sleep()函数详解

time.sleep() 函数命名来源于英文单词time(时间)和sleep(睡眠)。

time 是python带的非内置库,使用时需要import,主要用于处理和时间相关的操作。

time.sleep用于给定时间内挂起(等待)当前线程的执行。

time.sleep() 函数的例子:

可以注释掉time.sleep(2)再运行一次对比一下

可以看到虽然都是打印出一样的结果,但time.sleep()加入了等待时间

这里还要解释一下python中线程与进程的区别。

举个例子,厨房做菜看成是一个进程,那么这个进程下面就可能有多个人或一个人(cpu基本执行单元,即线程)来执行,多个人可以分别洗菜,刷碗,摆盘等等同时作业,他们又是共享这个厨房的资源的。每个人存在一定的资源竞争关系,比如炉火只有1个。

这里time.sleep是针对线程执行的,也就是其中一个人去sleep睡觉了,不影响其他人的继续工作。

参数

该函数没有返回值。

结果类似如下:

可以看到秒数相差了5

time.sleep()常用于推迟执行的场景

在python中,与时间相关的模块有:time,datetime以及calendar

对基础运行环境有疑问的,推荐参考: python函数深入浅出 0.基础篇

python中如何限制输入次数

python 限制函数调用次数的实例讲解

发布时间:2018-04-21 09:58:18 作者:随便起个名字啊

下面小编就为大家分享一篇python 限制函数调用次数的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

如下代码,限制某个函数在某个时间段的调用次数,

灵感来源:python装饰器-限制函数调用次数的方法(10s调用一次) 欢迎访问

原博客中指定的是缓存,我这里换成限制访问次数,异曲同工

#newtest.py

#!/usr/bin/env python

#-*- coding:utf-8 -*-

import time

def stat_called_time(func):

cache={}

limit_times=[10]

def _called_time(*args,**kwargs):

key=func.__name__

if key in cache.keys():

[call_times,updatetime]=cache[key]

if time.time()-updatetime 60:

cache[key][0]+=1

else:

cache[key]=[1,time.time()]

else:

call_times=1

cache[key]=[call_times,time.time()]

print('调用次数: %s' % cache[key][0])

print('限制次数: %s' % limit_times[0])

if cache[key][0] = limit_times[0]:

res=func(*args,**kwargs)

cache[key][1] = time.time()

return res

else:

print("超过调用次数了")

return None

return _called_time

@stat_called_time

def foo():

print("I'm foo")

if __name__=='__main__':

for i in range(10):

foo()

#test.py

from newtest import foo

import time

for i in range(30):

foo()

print('*'*20)

foo()

foo()

print('*'*20)

for i in range(60):

print(i)

time.sleep(1)

for i in range(11):

foo()

python每隔N秒运行指定函数的方法

python每隔N秒运行指定函数的方法

这篇文章主要介绍了python每隔N秒运行指定函数的方法,涉及Python的线程与时间操作技巧,非常具有实用价值,需要的朋友可以参考下

这是一个类似定时器的效果,每隔指定的秒数运行指定的函数,采用线程实现,代码简单实用。

代码如下:import os

import time

def print_ts(message):

print "[%s] %s"%(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), message)

def run(interval, command):

print_ts("-"*100)

print_ts("Command %s"%command)

print_ts("Starting every %s seconds."%interval)

print_ts("-"*100)

while True:

try:

# sleep for the remaining seconds of interval

time_remaining = interval-time.time()%interval

print_ts("Sleeping until %s (%s seconds)..."%((time.ctime(time.time()+time_remaining)), time_remaining))

time.sleep(time_remaining)

print_ts("Starting command.")

# execute the command

status = os.system(command)

print_ts("-"*100)

print_ts("Command status = %s."%status)

except Exception, e:

print e

if __name__=="__main__":

interval = 5

command = r"ipconfig"

run(interval, command)

希望本文所述对大家的Python程序设计有所帮助。

如何让python程序每个一段时间执行一次

python定时程序(每隔一段时间执行指定函数)

[python] view plain copy

import os

import time

def print_ts(message):

print "[%s] %s"%(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), message)

def run(interval, command):

print_ts("-"*100)

print_ts("Command %s"%command)

print_ts("Starting every %s seconds."%interval)

print_ts("-"*100)

while True:

try:

# sleep for the remaining seconds of interval

time_remaining = interval-time.time()%interval

print_ts("Sleeping until %s (%s seconds)..."%((time.ctime(time.time()+time_remaining)), time_remaining))

time.sleep(time_remaining)

print_ts("Starting command.")

# execute the command

status = os.system(command)

print_ts("-"*100)

print_ts("Command status = %s."%status)

except Exception, e:

print e

if __name__=="__main__":

interval = 5

command = r"ls"

run(interval, command)

python3定时器

在实际应用中,我们经常需要使用定时器去触发一些事件。Python中通过线程实现定时器timer,其使用非常简单。看示例:

一秒后输出 Hello Timer!

oneshot的定时器这样就可以实现。

如果要实现cycle的定时器,则可以:

1s后定时器启动后,将再次以5.5s为间隔周期性执行回调fun_timer函数

结果是:

在使用Python定时器时需要注意:

1.定时器构造函数主要有2个参数,第一个参数为时间,第二个参数为函数名,第一个参数表示多长时间后调用后面第二个参数指明的函数。第二个参数注意是函数对象,进行参数传递,用函数名(如fun_timer)表示该对象,不能写成函数执行语句fun_timer(),不然会报错。

2.定时器间隔单位是秒,可以是浮点数,如5.5,0.02等,在执行函数fun_timer内部和外部中给的值可以不同。如上例中第一次执行fun_timer是1秒后,后面的都是5.5秒后执行。

3.可以使用cancel停止定时器的工作


网页名称:包含python函数限制时间的词条
网站链接:http://cdweb.net/article/hopisi.html