一、网络基础
1、端口
1 - 端口,是什么?为什么要有?
2 端口是为了将同一个电脑上的不同程序进行隔离。
3
4 IP是找电脑
5 端口是找电脑上的程序
6
7 示例:
8 MySQL是一个软件,软件帮助我们在硬盘上进行文件操作。默认端口:3306
9 Redis是一个软件,软件帮助我们在内存里进行数据操作。默认端口:6379
10 网站默认端口:80 ,访问时:http://www.luffycity.com:80
11 网站默认端口:443 ,访问时:https://www.luffycity.com:443
12
13 范围:
14 1 - 65535
15 1 - 1024
一般情况:
8001、8000
2、OSI 7层模型
1 7层:
2 自己写的代码:自己代码+框架
3 应用层,使用软件。 打开软件或网站
4 表示层,看到数据,如图片和视频。 生产数据:szwwd
5 会话层,保持登录或链接状态。 应用偷偷携带一点其他数据:令牌 19rRNAwf8GVe6xyT9kJPIu5SlQc
6
7 socket模块:
8 传输层,TCP/UDP [TCP][szwwd|19rRNAwf8GVe6xyT9kJPIu5SlQc]
9 网络层,IP 【IP】【[TCP][szwwd|19rRNAwf8GVe6xyT9kJPIu5SlQc]】
10 数据链路层,MAC [MAC][【IP】【[TCP][szwwd|19rRNAwf8GVe6xyT9kJPIu5SlQc]】]
11 物理层,将数据转换成电信号发送
12
13 5层:
14 应用层
15 应用层 表示层
16 会话层
17 传输层
18 网络层
19 数据链路层
20 物理层
21 4层:
22 应用层
23 应用层 表示层
24 会话层
25 传输层
26 网络层
27 物理层 数据链路层
28 物理层
29
30 注意:7层背会。
3、TCP三次握手、四次挥手
1 socket客户端向服务端发起连接请求:三次握手
2 client.connect((....))
3 客户端 服务端
4 我能打你吗
5 来呀来呀
6 好的,我这就来
7 -----------------------------
8 client.send('发送数据')
9 收发数据 收发数据
10
11 客户端和服务端断开连接:四次挥手
12 client.close() 或 conn.close()
13 -----------------------------
14 我要断开连接
15 断开就断开,等我处理一些手头的事情
16 ...
17 我处理完了,断开吧。
18 拜拜
19
20
21 补充:断开连接时,反应到代码上:抛出异常/发送空内容;
22
23 总结:了解网络相关知识。
25 你与科班出人的人区别:
26 1. 计算机组成原理
27 2. 网络
28 3. 数据结构
29 4. 算法
30 牛逼大学的人+考研的人
二、FTP作业相关
1、进度条
""""""
# 第一个知识点
"""
import time
print('
80%',end='') #
是返回该行首位置 end='' 默认end是等于换行
time.sleep(2)
print('
90%',end='')
"""
# 第二个知识点
"""
tpl = "进度条目前是%s%%" %(90,)
print(tpl)
"""
import time
def func(size,total_size):
val = int(size/total_size * 100)
time.sleep(0.1)
print('
%s%%|%s' %(val,"#"*val,), end='')
for i in range(101):
func(i,100)
2、计算文件大小
import os
size = os.stat(r'D:sylars15day311.进度条.py').st_size
print(size)
3、修改文件名称
import os
import shutil
# py2 + win:报错
# os.rename('a.text','b.txt')
# py2+py3
shutil.move('c.txt','a.txt')
# shutil.rmtree('D:sylars15day30')