低级API索引

此页列出所有低级异步API。

获取事件循环

asyncio.get_running_loop()

这个 首选 函数获取正在运行的事件循环。

asyncio.get_event_loop()

获取事件循环实例(当前或通过策略)。

asyncio.set_event_loop()

通过当前策略将事件循环设置为当前。

asyncio.new_event_loop()

创建新的事件循环。

实例

事件循环方法

另请参见有关 event loop methods .

生命周期

loop.run_until_complete()

Run a Future/Task/awaitable until complete.

loop.run_forever()

永远运行事件循环。

loop.stop()

停止事件循环。

loop.close()

关闭事件循环。

loop.is_running()

返回 True 如果事件循环正在运行。

loop.is_closed()

返回 True 如果事件循环已关闭。

await loop.shutdown_asyncgens()

关闭异步生成器。

调试

loop.set_debug()

启用或禁用调试模式。

loop.get_debug()

获取当前调试模式。

计划回调

loop.call_soon()

很快调用回调。

loop.call_soon_threadsafe()

线程安全变体 loop.call_soon() .

loop.call_later()

调用回调 之后 给定的时间。

loop.call_at()

调用回调 at 给定的时间。

线程/进程池

await loop.run_in_executor()

concurrent.futures 遗嘱执行人

loop.set_default_executor()

为设置默认执行器 loop.run_in_executor() .

任务和未来

loop.create_future()

创建一个 Future 对象。

loop.create_task()

将协程安排为 Task .

loop.set_task_factory()

设置使用的工厂 loop.create_task() 创造 Tasks .

loop.get_task_factory()

得到工厂 loop.create_task() 用于创建 Tasks .

DNS

await loop.getaddrinfo()

的异步版本 socket.getaddrinfo() .

await loop.getnameinfo()

的异步版本 socket.getnameinfo() .

网络与工控机

await loop.create_connection()

打开TCP连接。

await loop.create_server()

创建TCP服务器。

await loop.create_unix_connection()

打开一个Unix套接字连接。

await loop.create_unix_server()

创建一个Unix Socket服务器。

await loop.connect_accepted_socket()

封装一个 socket 变成一个 (transport, protocol) 一对。

await loop.create_datagram_endpoint()

打开数据报(UDP)连接。

await loop.sendfile()

通过传输发送文件。

await loop.start_tls()

将现有连接升级到TLS。

await loop.connect_read_pipe()

将管道的读取端封装到 (transport, protocol) 一对。

await loop.connect_write_pipe()

将管道的写入端封装到 (transport, protocol) 一对。

Socket

await loop.sock_recv()

从接收数据 socket .

await loop.sock_recv_into()

从接收数据 socket 进入缓冲区。

await loop.sock_sendall()

将数据发送到 socket .

await loop.sock_connect()

连接到 socket .

await loop.sock_accept()

接受 socket 连接。

await loop.sock_sendfile()

通过发送文件 socket .

loop.add_reader()

开始监视文件描述符的读取可用性。

loop.remove_reader()

停止监视文件描述符的读取可用性。

loop.add_writer()

开始监视文件描述符的写可用性。

loop.remove_writer()

停止监视文件描述符的写入可用性。

UNIX信号

loop.add_signal_handler()

为添加处理程序 signal .

loop.remove_signal_handler()

删除的处理程序 signal .

子过程

loop.subprocess_exec()

生成子进程。

loop.subprocess_shell()

从shell命令生成子进程。

错误处理

loop.call_exception_handler()

调用异常处理程序。

loop.set_exception_handler()

设置新的异常处理程序。

loop.get_exception_handler()

获取当前异常处理程序。

loop.default_exception_handler()

默认的异常处理程序实现。

实例

传输工具

所有传输都实现以下方法:

transport.close()

关闭传输。

transport.is_closing()

返回 True 如果传输关闭或关闭。

transport.get_extra_info()

请求提供有关传输的信息。

transport.set_protocol()

设置新协议。

transport.get_protocol()

返回当前协议。

可以接收数据的传输(TCP和Unix连接、管道等)。从类似的方法返回 loop.create_connection()loop.create_unix_connection()loop.connect_read_pipe() 等:

阅读传输

transport.is_reading()

返回 True 如果传输正在接收。

transport.pause_reading()

暂停接收。

transport.resume_reading()

恢复接收。

可以发送数据的传输(TCP和Unix连接、管道等)。从类似的方法返回 loop.create_connection()loop.create_unix_connection()loop.connect_write_pipe() 等:

写入传输

transport.write()

将数据写入传输。

transport.writelines()

将缓冲区写入传输。

transport.can_write_eof()

返回 True 如果传输支持发送EOF。

transport.write_eof()

刷新缓冲数据后关闭并发送EOF。

transport.abort()

立即关闭传输。

transport.get_write_buffer_size()

返回“高”和“低”水位线以进行写入流量控制。

transport.set_write_buffer_limits()

为写流量控制设置新的高低水位标记。

传输返回人 loop.create_datagram_endpoint()

数据报传输

transport.sendto()

向远程对等端发送数据。

transport.abort()

立即关闭传输。

子流程上的低级传输抽象。返回的 loop.subprocess_exec()loop.subprocess_shell()

子流程传输

transport.get_pid()

返回子进程进程ID。

transport.get_pipe_transport()

返回所请求通信管道的传输( stdinstdoutstderr

transport.get_returncode()

返回子进程返回代码。

transport.kill()

终止子进程。

transport.send_signal()

向子进程发送信号。

transport.terminate()

停止子进程。

transport.close()

关闭子进程并关闭所有管道。

协议

协议类可以实现以下内容 回调方法

callback connection_made()

在建立连接时调用。

callback connection_lost()

当连接丢失或关闭时调用。

callback pause_writing()

当传输的缓冲区超过高水位线时调用。

callback resume_writing()

当传输的缓冲区低于低水位线时调用。

流协议(TCP、Unix套接字、管道)

callback data_received()

当接收到某些数据时调用。

callback eof_received()

在接收到EOF时调用。

缓冲流协议

callback get_buffer()

调用以分配新的接收缓冲区。

callback buffer_updated()

用接收的数据更新缓冲区时调用。

callback eof_received()

在接收到EOF时调用。

数据报协议

callback datagram_received()

当接收到数据报时调用。

callback error_received()

当上一个发送或接收操作引发 OSError .

子进程协议

callback pipe_data_received()

当子进程将数据写入其 stdoutstderr 管道。

callback pipe_connection_lost()

当与子进程通信的管道之一关闭时调用。

callback process_exited()

当子进程退出时调用。

事件循环策略

策略是一种低级机制,用于改变函数的行为,例如 asyncio.get_event_loop() . 另见主 policies section 了解更多详细信息。

访问策略

asyncio.get_event_loop_policy()

返回当前的进程范围策略。

asyncio.set_event_loop_policy()

设置新的进程范围策略。

AbstractEventLoopPolicy

策略对象的基类。