首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python基础教程14.5 小结

14.5 小结

本章简要地介绍了多种Python网络编程方法,选择哪种方法取决于具体需求和你的偏好。选择一种方法后,你很可能需要更深入地学习。下面是本章介绍的一些主题。

 套接字和模块socket:套接字是让程序(进程)能够通信的信息通道,这种通信可能需要通过网络进行。模块socket让你能够在较低的层面访问客户端套接字和服务器套接字。服务器套接字在指定的地址处监听客户端连接,而客户端套接字直接连接到服务器。

 urllib和urllib2:这些模块让你能够从各种服务器读取和下载数据,为此你只需提供指向数据源的URL即可。模块urllib是一种比较简单的实现,而urllib2功能强大、可扩展性极强。这两个模块都通过诸如urlopen等函数来完成工作。

 框架SocketServer:这个框架位于标准库中,包含一系列同步服务器基类,让你能够轻松地编写服务器。它还支持使用CGI的简单Web(HTTP)服务器。如果要同时处理多个连接,必须使用支持分叉或线程化的混合类。

 select和poll:这两个函数让你能够在一组连接中找出为读取和写入准备就绪的连接。这意味着你能够以循环的方式依次为多个连接提供服务,从而营造出同时处理多个连接的假象。另外,相比于线程化或分叉,虽然使用这两个函数编写的代码要复杂些,但解决方案的可伸缩性和效率要高得多。

 Twisted:这是Twisted Matrix Laboratories开发的一个框架,功能丰富而复杂,支持大多数主要的网络协议。虽然这个框架很大且其中使用的一些成例看起来宛如天书,但其基本用法简单而直观。框架Twisted也是异步的,因此效率和可伸缩性都非常高。对很多自定义网络应用程序来说,使用Twisted来开发很可能是最佳的选择。

14.5.1 本章介绍的新函数

函 数 描 述

urllib.urlopen(url[, data[, proxies]]) 根据指定的URL打开一个类似于文件的对象

urllib.urlretrieve(url[,fname[,hook[,data]]]) 下载URL指定的文件

urllib.quote(string[, safe]) 替换特殊的URL字符

urllib.quote_plus(string[, safe]) 与quote一样,但也将空格替换为+

urllib.unquote(string) 与quote相反

urllib.unquote_plus(string) 与quote_plus相反

urllib.urlencode(query[, doseq]) 对映射进行编码,以便用于CGI查询中

select.select(iseq, oseq, eseq[, timeout]) 找出为读/写做好了准备的套接字

select.poll() 创建一个轮询对象,用于轮询套接字

reactor.listenTCP(port, factory) 监听连接的Twisted函数

reactor.run() 启动主服务器循环的Twisted函数

14.5.2 预告

是不是认为对网络编程的介绍到此结束了?还没有。下一章将讨论网络世界中为人熟知的专用实体——Web。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190425A01NCC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券