低级 API 索引

This page lists all low-level asyncio APIs.

获得事件循环

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()

Create a new event loop.

范例

事件循环方法

See also the main documentation section about the event loop methods .

Lifecycle

loop.run_until_complete()

Run a Future/Task/awaitable until complete.

loop.run_forever()

Run the event loop forever.

loop.stop()

Stop the event loop.

loop.close()

Close the event loop.

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.

Thread/Process Pool

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() .

Tasks and Futures

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() .

Networking and 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_sendall()

Send data to the socket .

await loop.sock_connect()

Connect the socket .

await loop.sock_accept()

Accept a socket connection.

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 Signals

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.

范例

传输

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 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.

Event Loop Policies

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()

Return the current process-wide policy.

asyncio.set_event_loop_policy()

Set a new process-wide policy.

AbstractEventLoopPolicy

Base class for policy objects.