• 打印进度条 --sys模块


    四 sys模块

    1 sys.argv           命令行参数List,第一个元素是程序本身路径
    2 sys.exit(n)        退出程序,正常退出时exit(0)
    3 sys.version        获取Python解释程序的版本信息
    4 sys.maxint         最大的Int值
    5 sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
    6 sys.platform       返回操作系统平台名称
    import sys
    import time
    for i in range(100):
        sys.stdout.write('
    %s' %('#'*i))
        sys.stdout.flush()
        time.sleep(0.5)
    进度条实现一:sys.stdout
    import sys
    import time
    for i in range(100):
        time.sleep(0.5)
        print('
    %s' %('#'*i),end='',file=sys.stdout,flush=True)
    进度条实现二:print
    复制代码
    #=========知识储备==========
    #指定宽度
    print('<%-10.3f>' %3.22) #总宽度为10,保留3位小数点
    #打印结果
    #<3.220     >
    
    #打印%号,用%%
    width=10
    print('<%%-%ds>' %width)
    #打印结果
    # <%-10s>
    
    #嵌套的%
    width=10
    print(('<%%-%ds>' %width) %('hello'))
    #打印结果
    # <hello     >
    
    #=========实现打印进度条函数==========
    import sys
    import time
    def progress(percent,width=50):
        if percent >= 100:
            percent=100
    
        show_str=('[%%-%ds]' %width) %(int(width * percent / 100) * "#") #字符串拼接的嵌套使用
        print("
    %s %d%%" %(show_str, percent),end='',file=sys.stdout,flush=True)
    
    
    #=========应用==========
    data_size=3030333
    recv_size=0
    while recv_size < data_size:
        time.sleep(0.001) #模拟数据的传输延迟
        recv_size+=1024 #每次收1024
    
        recv_per=int(100*(recv_size/data_size)) #接收的比例
        progress(recv_per,width=30) #进度条的宽度30
  • 相关阅读:
    activiti5.13工作流系列(一)-初识
    java通过http调用服务
    Eclipse快捷键大全(转载)
    java作用域-转
    ajax两种不同方式的不同结果
    MySQL索引背后的数据结构及算法原理 --转
    解决json包含html标签无法显示的问题
    js下的sleep实现
    json使用
    比较靠谱的网页分页代码-转
  • 原文地址:https://www.cnblogs.com/52forjie/p/7439972.html
Copyright © 2020-2023  润新知