返回顶部

生成进度条-----progress_chars脚本

shell脚本实现

复制代码
#!/bin/bash
#********************************************************************
#Author:     wei
#QQ:     1655841639
#Date:     2020-08-25
#FileName:       progress_chart.sh
#URL:     
#Description: The test script
#Copyright (C): 2020 All rights reserved
#********************************************************************
function print_chars()
{
    #传入的第一个参数指定要打印的字符串
    local char="$1"
    #传入的第二个参数指定要打印多少次指定的字符串
    local number="$2"
    local c
    for (( c=0;c < number;++c ));do
        printf "$char"
    done
}
COLOR=32
declare -i end=50
for (( i=1; i <= end ;++i));do
    printf "\e[1;${COLOR}m\e[80D["
    print_chars "#" $i
    print_chars " " $((end - i))
    printf "] %3d%%\e[0m" $((i * 2))
    sleep 0.1s
done
echo
复制代码

 

 Python脚本实现

方式一 静态实现

复制代码
res=''
for i in range(50):
    res+='#'
    print('[%-50s]' % res)

>>> res=''
>>> for i in range(50):
...     res+='#'
...     print('[%-50s]' % res)
...
[#                                                 ]
[##                                                ]
[###                                               ]
[####                                              ]
[#####                                             ]
[######                                            ]
[#######                                           ]
[########                                          ]
[#########                                         ]
[##########                                        ]
[###########                                       ]
[############                                      ]
[#############                                     ]
[##############                                    ]
[###############                                   ]
[################                                  ]
[#################                                 ]
[##################                                ]
[###################                               ]
[####################                              ]
[#####################                             ]
[######################                            ]
[#######################                           ]
[########################                          ]
[#########################                         ]
[##########################                        ]
[###########################                       ]
[############################                      ]
[#############################                     ]
[##############################                    ]
[###############################                   ]
[################################                  ]
[#################################                 ]
[##################################                ]
[###################################               ]
[####################################              ]
[#####################################             ]
[######################################            ]
[#######################################           ]
[########################################          ]
[#########################################         ]
[##########################################        ]
[###########################################       ]
[############################################      ]
[#############################################     ]
[##############################################    ]
[###############################################   ]
[################################################  ]
[################################################# ]
[##################################################]
>>>
复制代码

方式二 动态显示,并添加百分比

复制代码
# cat progress.py
#!/bin/python3
# -*- coding: utf-8 -*-
import time
def progress(percent):
    if percent > 1:
        percent = 1
    res=int(50 * percent) * '#'
    print('\r[%-50s] %d%%' % (res,int(100*percent)),end='')

recv_size=0
total_size=6666

while recv_size < total_size:
    time.sleep(0.3)
    recv_size+=1024
    percent=recv_size / total_size
    progress(percent)

# python3 progress.py
[##################################################] 100%
复制代码

 

posted @   九尾cat  阅读(209)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示

目录导航