zoukankan      html  css  js  c++  java
  • day 31 socketserver 和ftp打印进度条

    import socketserver
    class Myserver(socketserver.BaseRequestHandler):
        def handle(self):
            self.data = self.request.recv(1024).strip()
            print("{} wrote:".format(self.client_address[0]))
            print(self.data)
            self.request.sendall(self.data.upper())
    if __name__ == "__main__":
        HOST, PORT = "127.0.0.1", 9999
        # 设置allow_reuse_address允许服务器重用地址
        socketserver.TCPServer.allow_reuse_address = True
        # 创建一个server, 将服务地址绑定到127.0.0.1:9999
        #server = socketserver.TCPServer((HOST, PORT),Myserver)
        server = socketserver.ThreadingTCPServer((HOST, PORT),Myserver)
        # 让server永远运行下去,除非强制停止程序
        server.serve_forever()
    tcp_server.py
     
    打印进度条
    一、
        import sys
        import time
        for i in range(50):
            sys.stdout.write('>')
            sys.stdout.flush()
            time.sleep(0.2)
    二、
        #总共接收到的大小和总文件大小的比值:
        #all_size_len表示当前总共接受的多长的数据,是累计的
        #file_size表示文件的总大小
            per_cent = round(all_size_len/file_size,2) #将比值做成两位数的小数
        #通过 来实现同一行打印,每次打印都回到行首打印
            print(' '+ '%s%%'%(str(int(per_cent*100))) + '*'*(int(per_cent*100)),end='')  #由于float类型的数据没法通过%s来进行字符串格式化,所以我在这里通过int来转换了一下,并用str转换了一下,后面再拼接上*,这个*的数量根据现在计算出来的比值来确定,就能够出来%3***这样的效果。自行使用上面的sys.stdout来实现一下这个直接print的效果。
    打印进度条
    import time
    for i in range(20):
    n=">"*i
    print(" %s" % n,end="") # 的含义是从这个开始打印前面的全部抹掉,end="" 是取消掉print的自动换行
    time.sleep(0.5)
  • 相关阅读:
    p1373
    考试总结 2018-5-6
    p1044与p1898
    p1905
    p1904 p1903
    p1177
    p1273  日常打表
    p1142
    并查集与并查集模板
    p1265
  • 原文地址:https://www.cnblogs.com/litieshuai/p/9836867.html
Copyright © 2011-2022 走看看