猫史档案馆


Python五种控制台加载动画

用户:我叫以赏我叫以赏查看:8 回复:8 评论:8 创建时间:2020-04-08T15:53:36


加载动画均为原创,转载请多少注明!

加载动画一:大写加载

center_image

# -*- coding:utf-8 -*-
"""
控制台加载动画
BY 我叫以赏 And Pikachu
转载更改注明出处!
"""

# 导入库文件
import time  # 导入时间库

# ------动画自定义设置------
end_time = 20  # 等待时间(测试使用)
sleep = 0.1  # 每个文字大写间隔(秒)
LoadText = 'python loading now , please wait ......'  # 自定义加载文字
JumpText = ' ,.'  # 哪些文字跳过大写

# ------开始打印加载动画------
if __name__ == '__main__':  # 程序开始写法
    print('程序正在加载......加载进度条 BY 我叫以赏 And Pikachu !')  # 程序开始写法
    print(LoadText, end=" ( 0s )")  # 打印初始动画
    start = time.time()  # 记录开始时间
    timeout = False  # 声明timeout变量 在下面用于结束循环
    while timeout == False:  # 开始进入循环
        for i in range(len(LoadText)):  # 循环加载文本的长度,i是获取每一个字符
            if time.time() - start >= end_time:  # 如果循环时间大于等于设定的时间 测试使用
                timeout = True  # 结束循环
                break  # 这个可以不要
            if LoadText[i] in JumpText:  # 如果存在不大写字符 则到循环尾(跳过大写)
                continue  # 到循环尾
            else:
                time.sleep(sleep)  # 延迟大写
                print('\r' + LoadText[:i] + LoadText[i].upper() + LoadText[i + 1:],
                      end=" ( %ds )" % (int(time.time() - start)))  # 拼接与打印处理好的文本
    print('\r' + LoadText, end=" ( %ds )\n" % (int(time.time() - start)))  # 加载完成打印原文字
    print('Python已经加载!加载用时:%d秒,现在可以使用了!加载BY我叫以赏!' % (int(time.time() - start)))  # 加载完成提示

加载动画二:进度条

center_image

# -*- coding:utf-8 -*-
"""
控制台加载动画
BY 我叫以赏 And Pikachu
转载更改注明出处!
"""

# 导入库文件
import time  # 导入时间库

# ------动画自定义设置------
end_time = 1000  # 结束时间 (测试用)
jump_time = 2  # 每次增长大小 (测试用)最后一次循环无论如何都会为100%
sleep = 0.01  # 延迟时间 (测试用)
print_len = 60  # 打印长度
loaded_str = '>'  # 已加载字符
unloaded_str = ' '  # 未加载字符
begin_str = '|'  # 开始字符
end_str = '|'  # 结束字符

# ------开始打印加载动画------
if __name__ == '__main__':  # 程序开始写法
    print('程序正在加载......加载进度条 BY 我叫以赏 And Pikachu !')  # 程序开始写法
    print(begin_str + unloaded_str * print_len + ' 0.0% ( 0s )' + end_str, end="")  # 打印刚开始文本
    start = time.time()  # 记录开始加载时间
    for i in range(1, end_time + 1, jump_time):  # 开始加载循环
        time.sleep(sleep)  # 延迟
        if i + jump_time >= end_time + 1:  # 检测是否为最后一个数字
            i = end_time  # 如果是则转化为最大数字 否则会导致出现低于100%的情况
        Percentage = round(i / end_time * 100, 1)  # 计算百分比
        printage = int(i / end_time * print_len)  # 计算打印已完成字符长度
        print('\r' + begin_str + loaded_str * printage + unloaded_str * (
                print_len - printage) + end_str + ' %s ( %ds )' % (
                  str(Percentage) + '%', int(time.time() - start)), end="")  # 打印进度条
    print('\n程序已加载完成!哈哈......')  # 加载已完成提示

加载动画三:滚动文字

center_image

# -*- coding:utf-8 -*-
"""
控制台加载动画
BY 我叫以赏 And Pikachu
转载更改注明出处!
"""

# 导入库文件
import time  # 导入时间库

# ------动画自定义设置------
loadstr = ['-', '\\', '|', '/', '-', '\\', '|', '/']  # 加载滚动条

# ------开始打印加载动画------
if __name__ == '__main__':  # 程序开始写法
    starttime = time.time()  # 记录开始时间
    timeout = False  # 声明timeout变量 在下面用于结束循环
    todo = '程序正在初始化......'  # 开始提示信息
    print('程序正在加载......加载进度条 BY 我叫以赏 And Pikachu !')  # 程序开始写法
    while timeout == False:  # 开始进入循环
        for loadstrnow in loadstr:
            time.sleep(0.5)
            now = int(time.time() - starttime)
            print('\r' + ' ' * (len(todo)+20), end='')  # 防止windows特性
            if now == 1:  # 1秒的时候
                todo = '正在读取配置文件......'
            elif now == 2:  # 2秒的时候
                todo = '正在加载页面......'
            elif now == 3:  # 3秒的时候
                todo = '正在完成......'
            elif now == 4:  # 4秒的时候
                timeout = True
                break

            print('\r' +todo + '  ' + loadstrnow, end='')  # 打印信息
    print('\r程序已加载完成!')  # 加载已完成提示
    print('启动程序中....')  # 加载已完成提示

加载动画四:单字输出

Windows控制台输出有问题

center_image

# -*- coding:utf-8 -*-
"""
控制台加载动画
BY 我叫以赏 And Pikachu
转载更改注明出处!
"""

# 导入库文件
import time  # 导入时间库

# ------动画自定义设置------
LoadText = '程 序 正 在 加 载 中 , 请 稍 等 . . . . . .'  # 自定义加载文字
JumpText = ' ,'  # 哪些文字跳过输出
sleep = 0.5  # 延迟
end_time = 20  # 跳出时间

# ------开始打印加载动画------
if __name__ == '__main__':  # 程序开始写法
    timeout = False  # 声明timeout变量 在下面用于结束循环  # 声明timeout变量 在下面用于结束循环
    starttime = time.time()
    print('程序正在加载......加载进度条 BY 我叫以赏 And Pikachu !')  # 程序开始写法
    while timeout == False:
        for Text in list(LoadText):
            if Text in JumpText:
                print(Text, end="")
                continue
            else:
                print(Text, end="")
                time.sleep(sleep)
            if time.time() - starttime >= end_time:
                timeout = True
                break
        print('\r', end='')
    print('\r%s\n加载完毕!请敬请使用!' % (LoadText))

加载动画五:进度条升级

center_image

# -*- coding:utf-8 -*-
"""
控制台加载动画
BY 我叫以赏 And Pikachu
转载更改注明出处!
"""

# 导入库文件
import time  # 导入时间库

# ------动画自定义设置------
LoadText = '加载中(%s)...'  # 自定义加载文字 请添加%s用于显示进度
Loadstr1 = '>'  # 加载符号1
Loadstr2 = '<'  # 加载符号3
Loadstr3 = ' '  # 加载符号4
print_len = 30  # 两侧打印长度
begin_str = '|'  # 开始字符
end_str = '|'  # 结束字符
end_time = 1000  # 结束时间 (测试用)
jump_time = 2  # 每次增长大小 (测试用)最后一次循环无论如何都会为100%
sleep = 0.01  # 延迟时间 (测试用)

# ------开始打印加载动画------
if __name__ == '__main__':  # 程序开始写法
    print('程序正在加载......加载进度条 BY 我叫以赏 And Pikachu !')  # 程序开始写法
    print(begin_str + Loadstr3 * print_len + ' %s ' % (LoadText)%('0.0%') + Loadstr3 * print_len + end_str, end="")  # 打印刚开始文本
    start = time.time()  # 记录开始加载时间
    for i in range(1, end_time + 1, jump_time):  # 开始加载循环
        time.sleep(sleep)  # 延迟
        if i + jump_time >= end_time + 1:  # 检测是否为最后一个数字
            i = end_time  # 如果是则转化为最大数字 否则会导致出现低于100%的情况
        Percentage = round(i / end_time * 100, 1)  # 计算百分比
        printage = int(i / end_time * print_len)  # 计算打印已完成字符长度
        print('\r' + begin_str + Loadstr1 * printage + Loadstr3 * (print_len - printage) + ' %s ' % (
            LoadText)%(str(Percentage)+'%') + Loadstr3 * (print_len - printage) + Loadstr2 * printage + end_str, end="")  # 打印进度条
    print('\n程序已加载完成!哈哈......')  # 加载已完成提示


回复

上一页1 页 / 共 1下一页
我叫以赏我叫以赏

打包下载:http://u6.gg/sTnwd

点赞0


评论


_Rise__Rise_

emotion_编程猫_点赞

点赞0


评论


名字是什么a名字是什么a

emotion_编程猫_加油

点赞0


评论


無一郎無一郎

emotion_编程猫_点赞

点赞0


评论


少年编程狂少年编程狂

看来作者是个人才,学到学到了

点赞0


评论


wrmdcxywrmdcxy

print+\r——神器中的神器

点赞0


评论


泠尘晓泠尘晓

关注啊

点赞0


评论


ZCH幻影深渊ZCH幻影深渊

顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

点赞0


评论