如何使用TQM状态栏通过python套接字下载文件?

如何使用TQM状态栏通过python套接字下载文件?,python,python-3.x,sockets,tqdm,Python,Python 3.x,Sockets,Tqdm,我曾尝试通过低级python套接字下载文件,但下载时间太长。示例:一个文件70000 KB需要50秒。 我正在使用TQMpython模块作为进度条,尽管我只在写入文件时使用了它,也就是说所有或部分字节都被接收写入 server.py import socket import os from tqdm import tqdm s = socket.socket() s.bind(("", 4444)) s.listen(1000) print("listening...") while Tru

我曾尝试通过低级python套接字下载文件,但下载时间太长。示例:一个文件70000 KB需要50秒。 我正在使用TQMpython模块作为进度条,尽管我只在写入文件时使用了它,也就是说所有部分字节都被接收写入

server.py

import socket
import os
from tqdm import tqdm

s = socket.socket()
s.bind(("", 4444))
s.listen(1000)
print("listening...")

while True:

    conn, addr = s.accept()
    print("connection to the client established....")

    file_name = input("filename: ")
    conn.send(bytes(file_name, "utf-8"))

    file_size = conn.recv(1024).decode("utf-8")

    conn.send(b"start transfer...")

    file_data = conn.recv(int(file_size))

    for data in tqdm(range(int(file_size))):
        with open(file_name, "wb") as write_f:
            write_f.write(file_data)

    print("transfer complete...")
    conn.close()
    os._exit(1)
client.py

import socket
import os

s = socket.socket()
s.connect(("192.168.1.6", 4444))

file_name = s.recv(1024).decode("utf-8")

file_size = s.send(bytes(os.stat(file_name).st_size, "utf-8"))

confirmation = s.recv(1024).decode("utf-8")

with open(file_name, "rb") as read_f:
    file_data = s.send(read_f.read())

s.close()
os._exit(1)