2020.5.1复习网络

发布于 2020-05-01  13 次阅读


1.复习内容

  • IO

    • 定义:
      • 在内存中存在数据交换的操作被认为是IO操作,
    • 分类:
      • IO密集型程序
      • 计算密集型程序
  • 字节串

    • python3中引入的概念,用来代表二进制的字符串
    • 普通的ascii编码字符串可以在前面加b转换为字节串,例如:b'hello'
    • 字符串转换为字节串方法 :encode()
    • 字节串转换为字符串方法 : decode()
  • 文件流:

    • 标准输入 sys.stdin
    • 标准输出 sys.stdout
    • 标准错误 sys.stderr
  • python读取文件的方法、函数:

    • 返回字符串为空,则读取完毕
    • read([size])
      • 返回指定字节数据
    • readline([size])
      • 返回一行数据,超过size返回不完整的行
    • readlines([sizeint])
      • 读取剩余的行,返回一个由字符串组成的列表
      • 一行是列表的一个字段
    • for循环读取
      • 文件流对象是一个可迭代对象
      • for line in files: //可以拿到每一行
  • python写入文件的方法、函数

    • write(string)
      • 功能和read() 和 readline()相反
      • 可以写入文本数据和二进制数据(图片)
    • writelines(str_list)
      • 接收一个参数为列表
      • 要在列表中的字符串手动添加 “\n”
  • python 获取文件偏移量

    • tell()方法,返回文件偏移量
    • 设置偏移量 seek()方法
      • 第一个参数是文件偏移量
      • 第二个参数是基准位置 0是开头, 1是当前, 2是结尾
  • python文件描述符

    • 每一个IO操作都会分配一个文件描述符
    • 文件描述符听着高大上,实际上就是一个整数,1,2
    • 获取文件描述符fileno()
  • 常用文件管理函数

    • 获取文件大小
      os.path.getsize(file)
    1. 查看文件列表
      os.listdir(dir)
    2. 查看文件是否存在
      os.path.exists(file)
    3. 判断文件类型
      os.path.isfile(file)
    4. 删除文件
      os.remove(file)
  • SOCKET套接字

    • 两种常见套接字类型:

    • 流式套接字(SOCK_STREAM) 实现的是tcp协议
    • 数据报套接字(SOCK_DGRM) 实现的是udp协议
    • 服务端使用套接字的流程:

    1. 创建套接字 sockfd = socket.socket(socket_family=AF_INET,socket_type=SOCK_DGRAM)
      • 参数 socket_family 网络地址类型 AF_INET 表示ipv4
      • 参数socket_type 套接字类型 流式套接字,数据报套接字
      • proto 通常为0 选择子协议
    2. 绑定地址
      • sockfd.bind(addr)
    3. 设置监听
      • sockfd.listen(10)
      • 参数是队列大小
    4. 等待处理客户端连接请求
      • connfd,addr = sockfd.accept()
    5. 消息收发
      • data = connfd.recv(buffersize)
        • 接收客户端消息,参数是接收消息的大小
      • n = connfd.send(data)
        • 返回值是发送的字节数
    6. 关闭套接字
      1. sockfd.close()
      2. connfd.close()
    • 客户端使用套接字流程

      • 1.创建套接字
      • 2.连接套接字
      • 3.收发消息
      • 4.关闭套接字

2.灵感代办

3.学习内容

4.扩展延伸知识

5.知识内容个人梳理

6.今天都复习了之前的什么内容


Ares个人进阶之路