• 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)
  • 相关阅读:
    MoodNotes产品分析及功能说明书
    C#探秘系列(十)WPF:打开文件选择器选择文件并保存
    C#探秘系列(九)WPF连接Mysql数据库
    C#探秘系列(八)WPF数据绑定
    C#探秘系列(七):XML文件操作(一)
    #安卓杂记(七):自定义控件及属性获取
    C#探秘系列(六)
    安卓问题报告小记(七)
    121. Best Time to Buy and Sell Stock
    566. Reshape the Matrix
  • 原文地址:https://www.cnblogs.com/litieshuai/p/9836867.html
Copyright © 2020-2023  润新知