該模塊由 Tornado 內部使用。 不一定期望此處定義的函數(shù)和類對其他應用程序有用,但如果有用,它們會在此處記錄。
該模塊的一個面向公眾的部分是 ?Configurable
類及其配置方法,它成為其子類接口的一部分,包括 ?AsyncHTTPClient
?、?IOLoop
和 ?Resolver
exception tornado.util.TimeoutError
?with_timeout
和 ?IOLoop.run_sync
? 引發(fā)的異常。
在 5.0 版更改: 將 ?tornado.gen.TimeoutError
? 和 ?tornado.ioloop.TimeoutError
? 統(tǒng)一為 ?tornado.util.TimeoutError
?。 兩個以前的名字都保留為別名。
使字典表現(xiàn)得像一個對象,具有屬性樣式訪問。
流式 ?gzip
解壓縮器。
該接口類似于 ?zlib.decompressobj
? 的接口(沒有一些可選參數(shù),但它理解 ?gzip
表頭和校驗和)。
解壓縮一個塊,返回新的可用數(shù)據(jù)。
一些數(shù)據(jù)可能會被緩沖以供以后處理; 當沒有更多的輸入數(shù)據(jù)時,必須調用 ?flush
以確保所有數(shù)據(jù)都已處理。
如果給定了 ?max_length
?,則 ?unconsumed_tail
中可能會遺留一些輸入數(shù)據(jù); 如果它不為空,您必須檢索此值并將其傳遞回對 ?decompress
的 ?future
?調用。
返回剩余的未消耗部分
返回解壓縮尚未返回的任何剩余緩沖數(shù)據(jù)。
還檢查諸如截斷輸入之類的錯誤。 在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
,您將收到元組錯誤。 所以這個函數(shù)抽象了所有的行為,給你一個安全的方法來獲取 ?errno
?。
取消轉義由 ?re.escape
? 轉義的字符串。
對于 ?re.escape
? 無法生成的正則表達式可能會引發(fā) ?ValueError
?(例如,包含 ?\d
? 的字符串不能被轉義)。
可配置接口的基類。
可配置接口是一個(抽象)類,其構造函數(shù)充當其實現(xiàn)子類之一的工廠函數(shù)。 可以在運行時使用 ?configure
全局設置實現(xiàn)子類及其初始化程序的可選關鍵字參數(shù)。
通過使用構造函數(shù)作為工廠方法,接口看起來像一個普通的類,isinstance 像往常一樣工作等。這種模式在實現(xiàn)的選擇可能是全局決策時最有用(例如,當 ?epoll
可用時,總是使用 它而不是 ?select
?),或者當以前的整體類被拆分為專門的子類時。
可配置子類必須定義類方法?configurable_base
和?configurable_default
?,并使用實例方法?initialize
而不是?__init__
?。
在 5.0 版更改: 現(xiàn)在可以在類層次結構的多個級別指定配置。
返回可配置層次結構的基類。
這通常會返回定義它的類。 (不一定與cls
classmethod 參數(shù)相同)。
如果沒有配置,則返回要使用的實現(xiàn)類。
初始化一個可配置的子類實例。
可配置類應該使用?initialize
?而不是 ?__init__
?。
設置基類實例化時使用的類。
關鍵字參數(shù)將被保存并添加到傳遞給構造函數(shù)的參數(shù)中。 這可用于為某些參數(shù)設置全局默認值。
返回當前配置的類。
替換 (?args
?、?kwargs
)鍵值對中的一個值。
檢查函數(shù)簽名以按名稱查找參數(shù),無論它是通過位置還是關鍵字傳遞。 用于裝飾器和類似的包裝器。
返回命名參數(shù)的舊值而不替換它。
如果參數(shù)不存在,則返回默認值。
將 ?args
?、?kwargs
中的命名參數(shù)替換為 ?new_value
?。
返回? (old_value, args, kwargs)
?。 返回的 ?args
?和 ?kwargs
對象可能與輸入對象不同,或者輸入對象可能發(fā)生了變異。
如果未找到命名參數(shù),則將 ?new_value
添加到 ?kwargs
中,并且 ?None
將作為 ?old_value
返回。
等同于 ?td.total_seconds()
?(在 Python 2.7 中引入)。
更多建議: