Py学习  »  Python

最适合新手练习的Python小项目!还是有难度的!用了五天整理

Python学习交流 • 5 年前 • 473 次点击  

而互联网的概念是:所有设备都提供独特的标签(总称互联网协议地址或IP地址),有互联网服务供应商(ISP)提供的公网IP地址,通过这些地址,可以进行通信。

如下图:

2. web服务器的基本概念,包括链接建立后的传输过程

一个人自学很有可能因为动力不足而中途放弃,可以尝试加入一个或几个适合自己的网络群体(QQ、 微信、 社区等),寻找志同道合的学习伙伴,相互交流、相互促进.如果大家想要学习交流欢迎给我私信,私信关键词: 01.02.03.04 都会得到不一样的资料!系统坚持到关键词会自动发送。分开发送!01或者02

上面内容中也提到了socket,为了更好地理解我也查询了相关内容。注意python中的大部分网络编程模块都隐藏了socket模块的细节,不直接和套接字交互。所以这里我们只需要理解即可,具体编程不需要考虑其中内容。

总结来说,在这个实验里,我们要实现的功能只是根据用户的请求,生成http响应。所以我们也应该知道http请求和响应的格式:

这里的异常是异常中基类Exception的子类,即

里面什么都不干,但是利用Exception我们可以对异常报相应的错误信息。raise 语句中括号中就是异常的提示信息。

/* 这里

  1. "Unknown object '{0}'".format(self.path)

二. 当可以响应静态页面之后,我们接着实现CGI协议与脚本。

某些请求可以用另外编写脚本来处理(给出响应),这样对于新增的一些请求,就不用每次都修改服务器脚本了。为了更好地理解CGI,我们需要知道以下基本概念。

当实现了以上两个功能后,我们只需在类似静态页面的实现那样填补代码逻辑即可,示意代码如下:

三. 代码整理和重构

3.1 条件类

从上述plain和cgi的两个示意代码中,大家可能已经发现:在对不同条件的判断中,两个代码分别使用了if-elif-else语句形式和条件类的形式。其中前者理解很容易,而后者条件类是指将条件放置在不同的类中,然后循环遍历这些类,看哪个符合则对应执行相应条件。这样处理的好处在于易于维护:对于新加入的条件,不对改动if-elif-else使其变得臃肿,而只需增加一个类作为条件,同时在handler中循环遍历即可。

如我们要增加一个功能:在输入127.0.0.1:端口号时,我们希望得到主页的显示(存为index.html),这时我们就新建一个条件类:

同时在RequestHandler的实现中将其加入:

里面对test和act的定义是通过断言来实现的,内在逻辑是:如果你子类不实现这两个方法, 那么你生成的子类是一定会出错的。于是这相当于是限定子类必须实现这两种方法。之后子类继承该基类即可:

2. web服务器的基本概念,包括链接建立后的传输过程

3. http请求格式

4.http响应格式

5. httpie库

8.CGI

(1)字符串format方法

(2)**dict

(3)str/byte转换

1. os库

  1. subprocess.check_output(['cmd', 'arg1', 'arg2'])

  2. 本例中为data = subprocess.check_output(['python', fullpath])

3. 写基类,不鸡肋

get到了吧!是不是很牛逼?



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/M7UoBB3LlZ
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/11400
 
473 次点击