内容表

  • 低级 API 索引
    • 获得事件循环
    • 事件循环方法
    • 传输
    • 协议
    • 就业培训     下载中心     Wiki     联络
      登录   注册

      Log
      1. 首页
      2. Python 3.12.4
      3. 索引
      4. 模块
      5. 下一
      6. 上一
      7. Python 标准库
      8. 网络和进程间通信
      9. asyncio — 异步 I/O
      10. 低级 API 索引

      低级 API 索引 ¶

      本页列出了所有低级 asyncio API。

      获得事件循环 ¶

      asyncio.get_running_loop()

      The preferred function to get the running event loop.

      asyncio.get_event_loop()

      Get an event loop instance (running or current via the current policy).

      asyncio.set_event_loop()

      Set the event loop as current via the current policy.

      asyncio.new_event_loop()

      创建新的事件循环。

      范例

      • 使用 asyncio.get_running_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.

      范例

      • Using asyncio.new_event_loop() and loop.run_forever() .

      • 使用 loop.call_later() .

      • 使用 loop.create_connection() 以实现 an echo-client .

      • 使用 loop.create_connection() to connect a socket .

      • Using add_reader() to watch an FD for read events .

      • Using loop.add_signal_handler() .

      • Using loop.subprocess_exec() .

      传输 ¶

      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. It can be called before pipe_data_received() and pipe_connection_lost() 方法。

      事件循环策略 ¶

      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.

      内容表

      • 低级 API 索引
        • 获得事件循环
        • 事件循环方法
        • 传输
        • 协议
        • 事件循环策略

      上一话题

      高级 API 索引

      下一话题

      采用 asyncio 开发

      本页

      • 报告 Bug
      • 展示源

      快速搜索

      键入搜索术语或模块、类、函数名称。

      1. 首页
      2. Python 3.12.4
      3. 索引
      4. 模块
      5. 下一
      6. 上一
      7. Python 标准库
      8. 网络和进程间通信
      9. asyncio — 异步 I/O
      10. 低级 API 索引

版权所有  © 2014-2026 乐数软件    

工业和信息化部: 粤ICP备14079481号-1