Python Reactor开发总结 -- 语法和python类使用 python.select.select
2010-08-18 13:03
891 查看
select.select(rlist, wlist, xlist[, timeout])
> 平台依赖性:
Windows只支持socket作为fd,不支持文件的fd
Linux 和Unix平台都支持
> 输入的文件描述符号可以为如下几种情况:
python file objects:
1. sys.stdin
2. open() 或者 os.popen()
3. socket.socket()
4. 其他可以调用fileno()的对象返回的文件描述符号(这个是真实的 fd,不仅仅是一个随机整数)
> 前三个参数是 ‘waitable objects’的序列,要么是整数代表的fd,或者是由fileno()返回的对象才能作为三个序列的元素
rlist: wait until ready for reading
wlist: wait until ready for writing
xlist: wait for an “exceptional condition” (see the manual page for what your system considers such a condition)
三个参数是否全为空是平台相关的,Unix系统是可以全为空的,Windows不能全为空.
Unix全为空的话,可以作为定时器用了。
> timeout 参数
timeout参数是浮点数代表的参数,单位是seconds
timeout参数省略(默认为None),则代表永远block直到有一个fd准备好。
timeout = 0, 代表不会block,或者(specifies a poll)
> return 参数
返回值为三个list,包含三个已经准备好的fd列表(不会超过输入三个参数)。
当timeout后还没有fd准备好,则返回三个空列表([],[],[])
python 的 List Comprehensions语法:
这个语法的目的是用于创建列表,其他相似的语法还有(map,filter, zip 和 lambda)
[f(x) 跟随 0 个 或多个 for 或 if 子句]
[f(x)]
[f(x) for x]
[f(x) for x... if .....]
[f(x, y) for x..for y...]
[f(x, y) for x.. if ..... for y... if ....]
> 平台依赖性:
Windows只支持socket作为fd,不支持文件的fd
Linux 和Unix平台都支持
> 输入的文件描述符号可以为如下几种情况:
python file objects:
1. sys.stdin
2. open() 或者 os.popen()
3. socket.socket()
4. 其他可以调用fileno()的对象返回的文件描述符号(这个是真实的 fd,不仅仅是一个随机整数)
> 前三个参数是 ‘waitable objects’的序列,要么是整数代表的fd,或者是由fileno()返回的对象才能作为三个序列的元素
rlist: wait until ready for reading
wlist: wait until ready for writing
xlist: wait for an “exceptional condition” (see the manual page for what your system considers such a condition)
三个参数是否全为空是平台相关的,Unix系统是可以全为空的,Windows不能全为空.
Unix全为空的话,可以作为定时器用了。
> timeout 参数
timeout参数是浮点数代表的参数,单位是seconds
timeout参数省略(默认为None),则代表永远block直到有一个fd准备好。
timeout = 0, 代表不会block,或者(specifies a poll)
> return 参数
返回值为三个list,包含三个已经准备好的fd列表(不会超过输入三个参数)。
当timeout后还没有fd准备好,则返回三个空列表([],[],[])
python 的 List Comprehensions语法:
这个语法的目的是用于创建列表,其他相似的语法还有(map,filter, zip 和 lambda)
[f(x) 跟随 0 个 或多个 for 或 if 子句]
[f(x)]
[f(x) for x]
[f(x) for x... if .....]
[f(x, y) for x..for y...]
[f(x, y) for x.. if ..... for y... if ....]
相关文章推荐
- TEC1401.Report开发技术总结 - 第九章 使用BI Publisher开发报表-使用BI Publisher创建RTF模板的语法(4/5)
- ubuntu中卸载opencv2,安装opencv3.2.0和contrib组件,并使用python进行开发
- iOS开发小结 - 播放系统提示音使用总结(AudioToolbox)
- 【Python笔记】装饰器语法糖(@staticmethod/@classmethod/@property)原理剖析及使用场景说明
- 简单总结Android系统开发中LOG的使用
- android 开发配置及jni使用总结
- PyCharm中开发Python Flask使用模板出现警告
- 使用eclipse开发python环境搭建
- python 使用pymssql的基本总结
- Unity 开发总结之VLC Player for Unity插件的使用
- WebService学习总结(三)——使用JDK开发WebService
- 如何使用Ansible 2的API做python开发
- 一个高度使用百度地图的App开发实践总结
- iOS使用AudioToolbox接口开发音频总结
- WebService学习总结——使用JDK开发WebService
- 使用Eclipse来开发python脚本
- atitit.自己动手开发编译器and解释器(2) ------语法分析,语义分析,代码生成--attilax总结
- PHP开发框架--CodeIgniter(CI)使用总结
- 使用Eclipse与Pydev开发Python
- Anaconda使用总结 - Python - 伯乐在线