该模块由 Tornado 内部使用。 不一定期望此处定义的函数和类对其他应用程序有用,但如果有用,它们会在此处记录。
该模块的一个面向公众的部分是 Configurable类及其配置方法,它成为其子类接口的一部分,包括 AsyncHTTPClient、IOLoop和 Resolver
exception tornado.util.TimeoutError
with_timeout和 IOLoop.run_sync 引发的异常。
在 5.0 版更改: 将 tornado.gen.TimeoutError 和 tornado.ioloop.TimeoutError 统一为 tornado.util.TimeoutError。 两个以前的名字都保留为别名。
使字典表现得像一个对象,具有属性样式访问。
流式 gzip解压缩器。
该接口类似于 zlib.decompressobj 的接口(没有一些可选参数,但它理解 gzip表头和校验和)。
解压缩一个块,返回新的可用数据。
一些数据可能会被缓冲以供以后处理; 当没有更多的输入数据时,必须调用 flush以确保所有数据都已处理。
如果给定了 max_length,则 unconsumed_tail中可能会遗留一些输入数据; 如果它不为空,您必须检索此值并将其传递回对 decompress的 future调用。
返回剩余的未消耗部分
返回解压缩尚未返回的任何剩余缓冲数据。
还检查诸如截断输入之类的错误。 在flush之后不能对该对象调用其他方法。
按名称导入对象。
import_object('x')等价于import x。import_object('x.y.z') 等价于 from x.y import z。
>>> import tornado.escape
>>> import_object('tornado.escape') is tornado.escape
True
>>> import_object('tornado.escape.utf8') is tornado.escape.utf8
True
>>> import_object('tornado') is tornado
True
>>> import_object('tornado.missing_module')
Traceback (most recent call last):
...
ImportError: No module named missing_module
提供来自 Exception对象的 errno。
在某些情况下,没有设置 errno属性,因此我们将 errno从 args中提取出来,但是如果有人在没有任何 args的情况下实例化 Exception,您将收到元组错误。 所以这个函数抽象了所有的行为,给你一个安全的方法来获取 errno。
取消转义由 re.escape 转义的字符串。
对于 re.escape 无法生成的正则表达式可能会引发 ValueError(例如,包含 \d 的字符串不能被转义)。
可配置接口的基类。
可配置接口是一个(抽象)类,其构造函数充当其实现子类之一的工厂函数。 可以在运行时使用 configure全局设置实现子类及其初始化程序的可选关键字参数。
通过使用构造函数作为工厂方法,接口看起来像一个普通的类,isinstance 像往常一样工作等。这种模式在实现的选择可能是全局决策时最有用(例如,当 epoll可用时,总是使用 它而不是 select),或者当以前的整体类被拆分为专门的子类时。
可配置子类必须定义类方法configurable_base和configurable_default,并使用实例方法initialize而不是__init__。
在 5.0 版更改: 现在可以在类层次结构的多个级别指定配置。
返回可配置层次结构的基类。
这通常会返回定义它的类。 (不一定与clsclassmethod 参数相同)。
如果没有配置,则返回要使用的实现类。
初始化一个可配置的子类实例。
可配置类应该使用initialize而不是 __init__。
设置基类实例化时使用的类。
关键字参数将被保存并添加到传递给构造函数的参数中。 这可用于为某些参数设置全局默认值。
返回当前配置的类。
替换 (args、kwargs)键值对中的一个值。
检查函数签名以按名称查找参数,无论它是通过位置还是关键字传递。 用于装饰器和类似的包装器。
返回命名参数的旧值而不替换它。
如果参数不存在,则返回默认值。
将 args、kwargs中的命名参数替换为 new_value。
返回(old_value, args, kwargs)。 返回的 args和 kwargs对象可能与输入对象不同,或者输入对象可能发生了变异。
如果未找到命名参数,则将 new_value添加到 kwargs中,并且 None将作为 old_value返回。
等同于 td.total_seconds()(在 Python 2.7 中引入)。