python小功能

功能列表

  一、打印下载进度条

  二、解决粘包模板

 

 

1、打印下载进度条

import time

total_size = 20000
recv_size = 1024
recved_size = 0
sign = 1
while sign:
    if recved_size <= total_size:
        # 模拟网络延迟
        time.sleep(1)
        # 实际接受数据长度
        # data = client.recv(1024)
        # recv_size = len(data)

        percent = recved_size / total_size

        num = percent * 50

        print('\r[{:<50}]{}%'.format('=' * (int(num)), int(percent*100)), end='')

        recved_size += recv_size

        if recved_size > total_size:
            recved_size = total_size
            sign = 0

  由于实际情况中会发生total_size小于1024字节(或很接近1024个字节)的情况,这时会发生bug,导致下载进度超过100%的bug,所以在最后加入了if判断,当recved_size大于total_size时重置recved_size

  为total_size但如果是recv_size等于len(data)的话,就不会发生这个bug

 

2、解决粘包问题模板

***待补充***

posted @ 2021-03-06 12:17  口乞厂几  阅读(72)  评论(0)    收藏  举报