返回顶部
首页 > 资讯 > 后端开发 > Python >Python selectors
  • 798
分享到

Python selectors

Pythonselectors 2023-01-31 02:01:32 798人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

#!/usr/bin/env python # -*- coding:utf-8 -*- # author: Changhua Gong import selectors import Socket sel = selecto

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author: Changhua Gong

import selectors
import Socket

sel = selectors.DefaultSelector()
'''selectors根据系统自动select或epoll'''

def accept(sock, mask):
    conn, addr = sock.accept()  # Should be ready
    print('accepted', conn, 'from', addr)
    conn.setblocking(False)  # 设置连接不阻塞
    sel.reGISter(conn, selectors.EVENT_READ, read) # 新连接注册read回调函数


def read(conn, mask):
    data = conn.recv(1024)  # Should be ready
    if data:
        print('echoing', repr(data), 'to', conn)
        conn.send(data)  # Hope it won't block
    else:
        print('closing', conn)
        sel.unregister(conn)
        conn.close()


sock = socket.socket()
sock.bind(('localhost', 10000))
sock.listen(100)
sock.setblocking(False)
sel.register(sock, selectors.EVENT_READ, accept)  # 注册sock,有连接进来则调用accept

while True:
    events = sel.select() # 默认阻塞,有活动连接就返回活动的连接列表
    for key, mask in events:
        callback = key.data # accept的内存地址或read的内存地址,即等于read或accept函数
        callback(key.fileobj, mask)  # 调用对应的回调函数,key.fileobj为文件句柄

--结束END--

本文标题: Python selectors

本文链接: https://lsjlt.com/news/186714.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python selectors
    #!/usr/bin/env python # -*- coding:utf-8 -*- # author: Changhua Gong import selectors import socket sel = selecto...
    99+
    2023-01-31
    Python selectors
  • python之selectors
    selectors是select模块的包装器,ptython文档建议大部分情况使用selectors而不是直接使用selectors 样例代码如下 # -*- coding: utf-8 -*- __author__ = 'fc' i...
    99+
    2023-01-30
    python selectors
  • python之selectors模块
      selectors模块是在python3.4版本中引进的,它封装了IO多路复用中的select和epoll,能够更快,更方便的实现多并发效果。  官方文档见:https://docs.python.org/3/library/...
    99+
    2023-01-31
    模块 python selectors
  • 解决:Some selectors are not allowed in component wxss, including tag name selectors, ID selectors
    在微信开发工具中运行文档中的代码,出现如下错误:  [渲染层错误] Some selectors are not allowed in component wxss, including tag name selectors, ID s...
    99+
    2023-09-07
    前端 javascript 开发语言 小程序
  • selectors怎么在python中使用
    本篇文章给大家分享的是有关selectors怎么在python中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python的数据类型有哪些python的数据类型:1. 数字...
    99+
    2023-06-14
  • css selectors的含义是什么
    这篇“css selectors的含义是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“css selectors的含义是...
    99+
    2023-07-04
  • python3--IO模型,阻塞,非阻塞,多路复用,异步,selectors模块
    协程回顾协程 实际上是一个线程执行了多个任务,遇到IO就切换示例:import time import gevent def func():     print('...
    99+
    2023-01-30
    多路 复用 模块
  • Python: kafka-python
    背景 我们有个数据处理平台,有两个用 docker 运行的数据处理模块,分别是:data_api, 和 processor_api,故名思义: data_api: 接受数据; processor_api: 处理数据; 数据处理简单...
    99+
    2023-01-31
    Python kafka python
  • [Python]linux python
     #!/usr/bin/env python与#!/usr/bin/python的区别 脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它,就这么简单   #!/usr/bin/python是告诉操作系统执行...
    99+
    2023-01-31
    Python linux python
  • [Python] python-docx
    [目的] 使用Python编辑Micorsoft Word 文档 [测试环境]         OS: MS XP professional SP3 Win32         Python:2.6.6 [准备]       ...
    99+
    2023-01-31
    Python python docx
  • python-初识python
     一.计算机的初步认识     硬件:内存,主板,CPU,硬盘,显卡,显示器等   内存:     优点:存取速度快     缺点:断电后数据会全部丢失   硬盘:     优点:断电后数据也会永久保存     缺点:存取速度远远慢于内...
    99+
    2023-01-31
    python
  • python------用python写
    这样一个小游戏,我们用shell也是可以完成的,但是这里我们主要是练习python!具体的要求及shell的写法http://zidingyi.blog.51cto.com/10735263/1767566!#!/usr/bin/env p...
    99+
    2023-01-31
    python
  • Python之——python-nmap
    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/78995578 一、python-nmap安装 # yum -y install nmap #安装nmap工具 # ...
    99+
    2023-01-31
    Python python nmap
  • 【python】IDLE与python(
    这个是idle:这个是Python (command line):idle是GUI形式,command line是命令提示符形式,都是和Python解释器交互的手段。Module Docs模块手册意思是Python各种模块的说明书 ...
    99+
    2023-01-31
    python IDLE
  • 【Python】Python-pool的
    收集了几个python种进程池pool的使用例子,改写为py3版本。1. pool.apply_async进程非阻塞执行,输入不确定情况下用默认情况下,Pool会创建固定数目的工作进程,并向这些工作进程传递作业,直到再没有更多作业为止。当...
    99+
    2023-01-31
    Python pool
  • python python-docx 替
    最根本的参考当然还是官方的文档,相当不错的中文讲解。 有人已经做了如何修改一些格式的博客:用python-docx修改已存在的Word文档的表格的字体格式。 我这里给出替换内容给的例子,简单来说,就是使用一个函数.clear(...
    99+
    2023-01-31
    python docx
  • Python 2.7 和 Python
    Python 2 发布于 2000 年年底,意味着较之先前版本,这是一种更加清晰和更具包容性的语言开发过程。而先前版本的 Python 应用的是 PEP (Python 增强协议),这种技术规范能向 Python 社区成员提供信息或描...
    99+
    2023-01-31
    Python
  • 【Python】Python使用redis
    转自:http://www.diybl.com/course/3_program/python/20110510/555370.html #1、安装  好吧,我承认我只会最简单的安装&n...
    99+
    2024-04-02
  • Python 使用python-kafk
    使用python-kafka类库开发kafka生产者&消费者&客户端   By: 授客 QQ:1033553122       1.测试环境 python 3.4   zookeeper-3.4.13.tar.gz 下载地...
    99+
    2023-01-30
    Python python kafk
  • Python 2 和 Python 3
      Guido(Python之父,仁慈的独裁者)在设计 Python3 的过程中,受一篇文章 “Python warts” 的影响,决定不向后兼容,否则无法修复大多数缺陷。---摘录自《流畅的Python》   你可能从来没有听说过学 J...
    99+
    2023-01-31
    Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作