本页列出了所有低级 asyncio API。
asyncio.get_running_loop()
|
preferred function to get the running event loop. |
asyncio.get_event_loop()
|
Get an event loop instance (current or via the policy). |
asyncio.set_event_loop()
|
Set the event loop as current via the current policy. |
asyncio.new_event_loop()
|
创建新的事件循环。 |
范例
See also the main documentation section about the 事件循环方法 .
Lifecycle
loop.run_until_complete()
|
Run a Future/Task/awaitable until complete. |
loop.run_forever()
|
Run the event loop forever. |
loop.stop()
|
停止事件循环。 |
loop.close()
|
关闭事件循环。 |
loop.is_running()
|
返回
True
if the event loop is running.
|
loop.is_closed()
|
返回
True
if the event loop is closed.
|
await
loop.shutdown_asyncgens()
|
Close asynchronous generators. |
调试
loop.set_debug()
|
Enable or disable the debug mode. |
loop.get_debug()
|
Get the current debug mode. |
Scheduling Callbacks
loop.call_soon()
|
Invoke a callback soon. |
loop.call_soon_threadsafe()
|
A thread-safe variant of
loop.call_soon()
.
|
loop.call_later()
|
Invoke a callback after the given time. |
loop.call_at()
|
Invoke a callback at the given time. |
线程/进程池
await
loop.run_in_executor()
|
Run a CPU-bound or other blocking function in a
concurrent.futures
executor.
|
loop.set_default_executor()
|
Set the default executor for
loop.run_in_executor()
.
|
任务和未来
loop.create_future()
|
创建
Future
对象。
|
loop.create_task()
|
Schedule coroutine as a
Task
.
|
loop.set_task_factory()
|
Set a factory used by
loop.create_task()
to create
Tasks
.
|
loop.get_task_factory()
|
Get the factory
loop.create_task()
uses to create
Tasks
.
|
DNS
await
loop.getaddrinfo()
|
Asynchronous version of
socket.getaddrinfo()
.
|
await
loop.getnameinfo()
|
Asynchronous version of
socket.getnameinfo()
.
|
网络和 IPC (进程间通信)
await
loop.create_connection()
|
Open a TCP connection. |
await
loop.create_server()
|
Create a TCP server. |
await
loop.create_unix_connection()
|
Open a Unix socket connection. |
await
loop.create_unix_server()
|
Create a Unix socket server. |
await
loop.connect_accepted_socket()
|
包裹
socket
成
(transport, protocol)
对。
|
await
loop.create_datagram_endpoint()
|
Open a datagram (UDP) connection. |
await
loop.sendfile()
|
Send a file over a transport. |
await
loop.start_tls()
|
Upgrade an existing connection to TLS. |
await
loop.connect_read_pipe()
|
Wrap a read end of a pipe into a
(transport, protocol)
对。
|
await
loop.connect_write_pipe()
|
Wrap a write end of a pipe into a
(transport, protocol)
对。
|
套接字
await
loop.sock_recv()
|
Receive data from the
socket
.
|
await
loop.sock_recv_into()
|
Receive data from the
socket
into a buffer.
|
await
loop.sock_recvfrom()
|
Receive a datagram from the
socket
.
|
await
loop.sock_recvfrom_into()
|
Receive a datagram from the
socket
into a buffer.
|
await
loop.sock_sendall()
|
Send data to the
socket
.
|
await
loop.sock_sendto()
|
Send a datagram via the
socket
to the given address.
|
await
loop.sock_connect()
|
连接
socket
.
|
await
loop.sock_accept()
|
Accept a
socket
连接。
|
await
loop.sock_sendfile()
|
Send a file over the
socket
.
|
loop.add_reader()
|
Start watching a file descriptor for read availability. |
loop.remove_reader()
|
Stop watching a file descriptor for read availability. |
loop.add_writer()
|
Start watching a file descriptor for write availability. |
loop.remove_writer()
|
Stop watching a file descriptor for write availability. |
Unix 信号
loop.add_signal_handler()
|
Add a handler for a
signal
.
|
loop.remove_signal_handler()
|
Remove a handler for a
signal
.
|
子进程
loop.subprocess_exec()
|
Spawn a subprocess. |
loop.subprocess_shell()
|
Spawn a subprocess from a shell command. |
错误处理
loop.call_exception_handler()
|
Call the exception handler. |
loop.set_exception_handler()
|
Set a new exception handler. |
loop.get_exception_handler()
|
Get the current exception handler. |
loop.default_exception_handler()
|
The default exception handler implementation. |
范例
使用
loop.create_connection()
以实现
an echo-client
.
使用
loop.create_connection()
to
connect a socket
.
All transports implement the following methods:
transport.close()
|
Close the transport. |
transport.is_closing()
|
返回
True
if the transport is closing or is closed.
|
transport.get_extra_info()
|
Request for information about the transport. |
transport.set_protocol()
|
Set a new protocol. |
transport.get_protocol()
|
Return the current protocol. |
Transports that can receive data (TCP and Unix connections, pipes, etc). Returned from methods like
loop.create_connection()
,
loop.create_unix_connection()
,
loop.connect_read_pipe()
, etc:
Read Transports
transport.is_reading()
|
返回
True
if the transport is receiving.
|
transport.pause_reading()
|
Pause receiving. |
transport.resume_reading()
|
Resume receiving. |
Transports that can Send data (TCP and Unix connections, pipes, etc). Returned from methods like
loop.create_connection()
,
loop.create_unix_connection()
,
loop.connect_write_pipe()
, etc:
Write Transports
transport.write()
|
Write data to the transport. |
transport.writelines()
|
Write buffers to the transport. |
transport.can_write_eof()
|
返回
True
if the transport supports sending EOF.
|
transport.write_eof()
|
Close and send EOF after flushing buffered data. |
transport.abort()
|
Close the transport immediately. |
transport.get_write_buffer_size()
|
Return the current size of the output buffer. |
transport.get_write_buffer_limits()
|
Return high and low water marks for write flow control. |
transport.set_write_buffer_limits()
|
Set new high and low water marks for write flow control. |
Transports returned by
loop.create_datagram_endpoint()
:
数据报传输
transport.sendto()
|
Send data to the remote peer. |
transport.abort()
|
Close the transport immediately. |
Low-level transport abstraction over subprocesses. Returned by
loop.subprocess_exec()
and
loop.subprocess_shell()
:
子进程传输
transport.get_pid()
|
Return the subprocess process id. |
transport.get_pipe_transport()
|
Return the transport for the requested communication pipe ( stdin , stdout ,或 stderr ). |
transport.get_returncode()
|
Return the subprocess return code. |
transport.kill()
|
杀除子进程。 |
transport.send_signal()
|
Send a signal to the subprocess. |
transport.terminate()
|
停止子进程。 |
transport.close()
|
Kill the subprocess and close all pipes. |
Protocol classes can implement the following callback methods :
callback
connection_made()
|
Called when a connection is made. |
callback
connection_lost()
|
Called when the connection is lost or closed. |
callback
pause_writing()
|
Called when the transport’s buffer goes over the high water mark. |
callback
resume_writing()
|
Called when the transport’s buffer drains below the low water mark. |
Streaming Protocols (TCP, Unix Sockets, Pipes)
callback
data_received()
|
Called when some data is received. |
callback
eof_received()
|
Called when an EOF is received. |
缓冲流协议
callback
get_buffer()
|
Called to allocate a new receive buffer. |
callback
buffer_updated()
|
Called when the buffer was updated with the received data. |
callback
eof_received()
|
Called when an EOF is received. |
数据报协议
callback
datagram_received()
|
Called when a datagram is received. |
callback
error_received()
|
Called when a previous send or receive operation raises an
OSError
.
|
子进程协议
callback
pipe_data_received()
|
Called when the child process writes data into its stdout or stderr pipe. |
callback
pipe_connection_lost()
|
Called when one of the pipes communicating with the child process is closed. |
callback
process_exited()
|
Called when the child process has exited. |
Policies is a low-level mechanism to alter the behavior of functions like
asyncio.get_event_loop()
. See also the main
policies section
了解更多细节。
Accessing Policies
asyncio.get_event_loop_policy()
|
返回当前进程范围的策略。 |
asyncio.set_event_loop_policy()
|
Set a new process-wide policy. |
AbstractEventLoopPolicy
|
Base class for policy objects. |