赞
踩
晚上看了些python实现动态字幕效果的文章,总会提到print函数的flush=True参数,还有os.system(‘cls’)清屏,总是迷糊,并不能实现滚动屏幕效果。经过多方思索和查找,总结如下。
1.windows平台下pycharm工具,其实加不加 flush=True 效果都是一样的,因为网上说,有些系统是把字符存放在缓存里不会实时显示,总是再最后才一次性把所有的缓存信息显示,这样的延迟导致看不到动态效果。经过测试,windowns平台的pycharm工具不存在此问题,加不加效果都一样。
2.回车换行符的使用:
# 回车和换行的历史:
# 机械打字机有回车和换行两个键作用分别是:
# 换行 'n' 就是把滚筒卷一格,不改变水平位置。 (即移到下一行,但不是行首,而是和上一行水平位置一样)
# 回车 'r' 就是把水平位置复位,不卷动滚筒。 (即将光标移到行首,但是不会移到下一行,如果继续输入的话会覆盖掉前面的内容)
# Enter = 回车+换行(rn)
所以可以利用回车符,不断清除前面的字符,然后循环显示新的字符,来实现动态滚动效果。
2个实例如下:
实例1 动态广告语
import time
content = '钻石永久远,一颗永流传!'
while True:
print('r', content, end='', flush=True) #去掉flush参数效果也一样
c
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。