检查文件何时在python中完成下载(套接字编程)



如何使用带有TCP客户端/服务器逻辑的套接字编程来跟踪文件下载的进度,以继续代码流而无需无限while循环?

如果可以手动解析标头,则可以获取文件大小,在content-length字段中,总迭代次数将content_length/recv_buffer_size。例如,如果您一次接收 1024 个字节,文件大小为 4096,则迭代次数 = 4096/1024 = 4。

    total_length = content_length / buffer_size
    progressbar.set_length(total_length)   #some imaginary library
    for i in range(total_length):
      data = socket.recv(buffer_size)
      if data :
        file.write(data)
        progressbar.update(1)   #some imaginary progress-bar library
    file.close()

最新更新