非常教程

Python参考手册

数据类型 | Data Types

sched

源代码: Lib / sched.py

sched模块定义了一个实现通用事件调度器的类:

class sched.scheduler(timefunc, delayfunc)

scheduler类定义一个通用的接口,调度事件。它需要两个功能来实际处理“外部世界” - timefunc应该可以在没有参数的情况下进行调用,并返回一个数字(任何单位的“时间”)。该delayfunc功能应该是可调用的一个参数,与输出兼容timefunc,并应延迟许多时间单位。在每个事件运行后,delayfunc也将被参数调用,0以允许其他线程有机会在多线程应用程序中运行。

例:

>>> import sched, time
>>> s = sched.scheduler(time.time, time.sleep)
>>> def print_time(): print "From print_time", time.time()
...
>>> def print_some_times():
...     print time.time()
...     s.enter(5, 1, print_time, ())
...     s.enter(10, 1, print_time, ())
...     s.run()
...     print time.time()
...
>>> print_some_times()
930343690.257
From print_time 930343695.274
From print_time 930343700.273
930343700.276

在多线程环境中,scheduler该类在线程安全方面存在限制,无法在正在运行的调度程序中当前未决的新任务之前插入新任务,并且阻止主线程直到事件队列为空。相反,首选方法是使用threading.Timer该类。

例:

>>> import time
>>> from threading import Timer
>>> def print_time():
...     print "From print_time", time.time()
...
>>> def print_some_times():
...     print time.time()
...     Timer(5, print_time, ()).start()
...     Timer(10, print_time, ()).start()
...     time.sleep(11)  # sleep while time-delay events execute
...     print time.time()
...
>>> print_some_times()
930343690.257
From print_time 930343695.274
From print_time 930343700.273
930343701.301

1.调度程序对象

scheduler 实例具有以下方法和属性:

scheduler.enterabs(time, priority, action, argument)

安排新的活动。在时间参数应该是一个数字类型与返回值兼容timefunc传递给构造函数。计划在同一时间的活动将按其优先顺序执行。

执行事件意味着执行action(*argument)参数必须是一个保存动作参数的序列。

返回值是一个可用于事件后续取消的事件(请参阅参考资料cancel())。

scheduler.enter(delay, priority, action, argument)

安排延迟更多时间单位的事件。除了相对时间以外,其他参数,效果和返回值与那些相同enterabs()

scheduler.cancel(event)

从队列中删除事件。如果事件不是当前队列中的事件,则此方法将引发一个ValueError

scheduler.empty()

如果事件队列为空,则返回true。

scheduler.run()

运行所有计划的事件。该函数将等待(使用delayfunc()传递给构造函数的函数)进行下一个事件,然后执行此操作,直到没有更多预定事件。

无论是动作还是delayfunc可引发异常。无论哪种情况,调度程序都将保持一致的状态并传播异常。如果通过操作引发异常,则将来的呼叫将不会尝试该事件run()

如果一系列事件的运行时间比下一个事件之前的可用时间长,那么调度器将会落后。没有事件会被丢弃; 调用代码负责取消不再相关的事件。

scheduler.queue

只读属性按照它们将运行的顺序返回即将发生的事件列表。每个事件都显示为具有以下字段的命名元组:时间,优先级,动作,参数。

2.6版本中的新功能。

Python

Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于1989年发明,第一个公开发行版发行于1991年。 Python 是纯粹的自由软件, 源代码和解释器 CPython 遵循 GPL 协议。Python 语法简洁清晰,特色之一是强制用空白符( white space )作为语句缩进。

主页 https://www.python.org/
源码 https://github.com/python/cpython
版本 2.7
发布版本 2.7.13

Python目录

1.内置常量 | Built-in Constants
2.内置例外 | Built-in Exceptions
3.内置函数 | Built-in Functions
4.内置类型 | Built-in Types
5.编译器 | Compiler
6.加密 | Cryptography
7.数据压缩 | Data Compression
8.数据持久性 | Data Persistence
9.数据类型 | Data Types
10.调试和分析 | Debugging & Profiling
11.开发工具 | Development Tools
12.文件和目录访问 | File & Directory Access
13.文件格式 | File Formats
14.构架 | Frameworks
15.输入 | Importing
16.输入/输出 | Input/ouput
17.国际化 | Internationalization
18.网络 | Internet
19.网络数据 | Internet Data
20.翻译 | Interpreters
21.语言 | Language
22.记录 | Logging
23.Mac OS
24.MS Windows
25.多媒体 | Multimedia
26.联网 | Networking
27.数字与数学 | Numeric & Mathematical
28.操作系统 | Operating System
29.可选操作系统 | Optional Operating System
30.限制执行 | Restricted Execution
31.运行 | Runtime
32.SGI IRIX
33.软件包装与分销 | Software Packaging & Distribution
34.字符串 | String
35.结构化标记 | Structured Markup
36.Tk
37.Unix
38.Python 简介
39.Python pass 语句
40.Python 循环嵌套
41.Python 运算符
42.Python log10() 函数
43.Python log() 函数
44.Python floor() 函数
45.Python fabs() 函数
46.Python exp() 函数
47.Python cmp() 函数
48.Python ceil() 函数
49.Python abs() 函数
50.Python Number(数字)
51.Python pow() 函数
52.Python modf() 函数
53.Python min() 函数
54.Python max() 函数
55.Python asin() 函数
56.Python acos() 函数
57.Python uniform() 函数
58.Python shuffle() 函数
59.Python seed() 函数
60.Python random() 函数
61.Python randrange() 函数
62.Python choice() 函数
63.Python sqrt() 函数
64.Python round() 函数
65.Python radians() 函数
66.Python degrees() 函数
67.Python tan() 函数
68.Python sin() 函数
69.Python hypot() 函数
70.Python cos() 函数
71.Python atan2() 函数
72.Python atan() 函数
73.Python 元组
74.Python 列表(List)
75.Python 字符串
76.Python 字典(Dictionary)
77.Python 日期和时间
78.Python 函数
79.Python 模块
80.Python capitalize()方法
81.Python center()方法
82.Python count() 方法
83.Python expandtabs()方法
84.Python endswith()方法
85.Python encode()方法
86.Python decode()方法
87.Python find()方法
88.Python index()方法
89.Python 异常处理
90.Python isspace()方法
91.Python isnumeric()方法
92.Python islower()方法
93.Python isdigit()方法
94.Python isalpha()方法
95.Python isalnum()方法
96.Python isupper()方法
97.Python istitle()方法
98.Python min()方法
99.Python max()方法
100.Python maketrans()方法