首页 > 编程语言 >Python 学习 第二册 第14章 网络编程

Python 学习 第二册 第14章 网络编程

时间:2024-06-17 11:30:28浏览次数:26  
标签:14.1 socket Python urllib urlopen 模块 第二册 接字 14

----用教授的方式学习

目录

14.1 几个网络模块

14.1.1 模块 socket

14.1.2 模块 urllib 和 urllib2

14.1.3 其他模块

14.2 SocketServer 及相关的类

14.3.1 使用 SocketServer 实现分叉和线程化

14.3.2 使用 select 和 poll 实现异步 I/O 

14.4 Twisted 

14.4.1 下载并安装 Twisted 

14.4.2 编写 Twisted 服务器


14.1 几个网络模块

14.1.1 模块 socket

网络编程中的一个基本组件是套接字(socket)。套接字基本上是一个信息通道,两端各有一个程序。

套接字分为两类:服务器套接字和客户端套接字。创建服务器套接字后,让它等待连接请求的到来。

使用举例:

最简单的服务器

import socket 
s = socket.socket() 
host = socket.gethostname() 
port = 1234 
s.bind((host, port))
s.listen(5)
while True: 
      c, addr = s.accept() 
      print('Got connection from', addr) 
      c.send('Thank you for connecting')
      c.close()

最简单的客户端

import socket 
s = socket.socket() 
host = socket.gethostname() 
port = 1234 
s.connect((host, port))
print(s.recv(1024))

14.1.2 模块 urllib 和 urllib2

1. 打开远程文件

几乎可以像打开本地文件一样打开远程文件,差别是只能使用读取模式,以及使用模块urllib.request中的函数urlopen,而不是open(或file)。

>>> from urllib.request import urlopen 

>>> webpage = urlopen('http://www.python.org') 

2. 获取远程文件

函数urlopen返回一个类似于文件的对象,可从中读取数据。如果要让urllib替你下载文件,并将其副本存储在一个本地文件中,可使用urlretrieve。

urlretrieve('http://www.python.org', 'C:\\python_webpage.html')

14.1.3 其他模块

标准库中一些与网络相关的模块

模 块 

描 述

asynchat 

包含补充asyncore的功能

asyncore 

异步套接字处理程序

cgi 

基本的CGI支持

Cookie 

Cookie对象操作,主要用于服务器

cookielib 

客户端Cookie支持

email 

电子邮件(包括MIME)支持

ftplib 

FTP客户端模块

标签:14.1,socket,Python,urllib,urlopen,模块,第二册,接字,14
From: https://blog.csdn.net/weixin_38135241/article/details/139648200

相关文章

  • python
    我是在金融行业做运维工作的,虽然对于python的技术要求并不高,但是深度掌握python绝对是非常重要的一项技能,可以有效地提高工作效率。如今工作快十年了,过去的许多年里我断断续续的学习了很多遍的python,可以说东一榔头西一棒槌,总之非常的不系统。因为应用场景不多,也经常是不断的遗......
  • Python使用.NET开发的类库来提高你的程序执行效率(包括.NET Framework、.NET Standard
    Python由于本身的特性原因,执行程序期间可能效率并不是很理想。在某些需要自己提高一些代码的执行效率的时候,可以考虑使用C#、C++、Rust等语言开发的库来提高python本身的执行效率。接下来,我演示一种使用.NET平台开发的类库,来演示一下Python访问.NET类库的操作实现。类库演示包括.......
  • Oracle数据库ORA-12514错误消息
    引用:https://www.php.cn/faq/131370.htmlhttps://blog.csdn.net/arrowzz/article/details/17144653https://www.51969.com/post/18969077.htmlhttps://blog.csdn.net/yuan1164345228/article/details/115310827https://www.cnblogs.com/danghuijian/archive/2010/01/07/440......
  • 运筹学练习Python精解——动态规划
    练习1设国家拨给60万元投资,供四个工厂扩建使用,每个工厂扩建后的利润与投资额的大小有关,投资后的利润函数如下表所示,试给出收益最大的投资计划。利润\投资0102030405060\(g_1(r)\)0205065808585\(g_2(x)\)0204050556065\(g_3(x)\)0256085......
  • Python 时区问题
    之前出现一个问题python时区就是定时任务不运行python脚本排查运来是运行了任务但是是UTC时区然后测试脚本在终端运行时间是正常的原因是:终端会使用用户当前的ENV的时区是正常的,但是cron是一个单独用户没有设置时区信息所以是UTC时区方案一设置cron用户环......
  • Python中的常见方法
    Python中有三种比较常见的方法类型,如类方法和静态方法,实例方法,他们是面向对象编程中重要的概念。1.类方法    类方法是通过使用装饰器@classmethod来定义的,他的第一个参数是cls,指向类本身,允许我们在方法中操作类的属性或调用其他类方法。    类方法的使用:类方法......
  • 平滑算法,可以用于信号处理和数据平滑python
    当然,有许多其他平滑算法,可以用于信号处理和数据平滑。高斯滤波(GaussianFilter)是其中一种非常流行的方法,此外还有中值滤波(MedianFilter)等。下面是一些相关算法的介绍和示例代码。1.高斯滤波(GaussianFilter)高斯滤波是一种线性平滑滤波器,使用高斯分布的权重进行加权平均。它能......
  • Python数据分析与建模库-03数据分析处理库Pandas-1.数据读取
    该视频主要讲述了pandas库在数据处理中的重要性。首先介绍了pandas库是基于numpy库封装了一些操作,简化了数据处理过程。然后通过读取CSV文件的例子,演示了如何使用pandas的read_csv函数将数据读入,并展示了数据类型和数据格式。接着介绍了pandas库中的DataFrame格式,它可以看作......
  • 【Python】深入了解聚类:从原理到实践
    听说你为她做的件件是我曾经求而不得我够不着的烟火偏偏降落在别人窗口那晚的风吹到今天都还未凉透才松开手你却已握紧别的温柔                     ......
  • 【四种语言一网打尽(C\C++\Python\Golang)】L1-012 计算指数
    L1-012计算指数真的没骗你,这道才是简单题——对任意给定的不超过10的正整数n,要求你输出2^n。不难吧?输入格式:输入在一行中给出一个不超过10的正整数n。输出格式:在一行中按照格式2^n=计算结果输出2^n的值。输入样例:5输出样例:2^5=32C语言参考......