最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Python通过select实现异步IO的方法

来源:动视网 责编:小采 时间:2020-11-27 14:41:14
文档

Python通过select实现异步IO的方法

Python通过select实现异步IO的方法:本文实例讲述了Python通过select实现异步IO的方法。分享给大家供大家参考。具体如下: 在Python中使用select与poll比起在C中使用简单得多。select函数的参数是3个列表,包含整数文件描述符,或者带有可返回文件描述符的fileno()方法对象。第一个参数
推荐度:
导读Python通过select实现异步IO的方法:本文实例讲述了Python通过select实现异步IO的方法。分享给大家供大家参考。具体如下: 在Python中使用select与poll比起在C中使用简单得多。select函数的参数是3个列表,包含整数文件描述符,或者带有可返回文件描述符的fileno()方法对象。第一个参数


本文实例讲述了Python通过select实现异步IO的方法。分享给大家供大家参考。具体如下:

在Python中使用select与poll比起在C中使用简单得多。select函数的参数是3个列表,包含整数文件描述符,或者带有可返回文件描述符的fileno()方法对象。第一个参数是需要等待输入的对象,第二个指定等待输出的对象,第三个参数指定异常情况的对象。第四个参数则为设置超时时间,是一个浮点数。指定以秒为单位的超时值。select函数将会返回一组文件描述符,包括输入,输出以及异常。

在linux下利用select实现多路IO的文件复制程序:

#!/usr/bin/env python
import select
#导入select模块
BLKSIZE=8192
def readwrite(fromfd,tofd):
 readbuf = fromfd.read(BLKSIZE)
 if readbuf:
 tofd.write(readbuf)
 tofd.flush()
 return len(readbuf)
def copy2file(fromfd1,tofd1,fromfd2,tofd2):
 ''' using select to choice fds'''
 totalbytes=0
 if not (fromfd1 or fromfd2 or tofd1 or tofd2) :
 #检查所有文件描述符是否合法
 return 0
 while True:
 #开始利用select对输入所有输入的文件描述符进行监视
 rs,ws,es = select.select([fromfd1,fromfd2],[],[])
 for r in rs:
 if r is fromfd1:
 #当第一个文件描述符可读时,读入数据
 bytesread = readwrite(fromfd1,tofd1) 
 totalbytes += bytesread
 if r is fromfd2:
 bytesread = readwrite(fromfd2,tofd2)
 totalbytes += bytesread
 if (bytesread <= 0):
 break
 return totalbytes
def main():
 fromfd1 = open("/etc/fstab","r")
 fromfd2 = open("/etc/passwd","r")
 tofd1 = open("/root/fstab","w+")
 tofd2 = open("/root/passwd","w+")
 totalbytes = copy2file(fromfd1,tofd1,fromfd2,tofd2)
 print "Number of bytes copied %d
" % totalbytes
 return 0
if __name__=="__main__":
 main()

希望本文所述对大家的Python程序设计有所帮助。

文档

Python通过select实现异步IO的方法

Python通过select实现异步IO的方法:本文实例讲述了Python通过select实现异步IO的方法。分享给大家供大家参考。具体如下: 在Python中使用select与poll比起在C中使用简单得多。select函数的参数是3个列表,包含整数文件描述符,或者带有可返回文件描述符的fileno()方法对象。第一个参数
推荐度:
标签: 实现 实现的 python
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top