python 滚动字幕_python 实现字幕动态滚动和等待效果
晚上看了些python實現(xiàn)動態(tài)字幕效果的文章,總會提到print函數(shù)的flush=True參數(shù),還有os.system(‘cls’)清屏,總是迷糊,并不能實現(xiàn)滾動屏幕效果。經(jīng)過多方思索和查找,總結如下。
1.windows平臺下pycharm工具,其實加不加 flush=True 效果都是一樣的,因為網(wǎng)上說,有些系統(tǒng)是把字符存放在緩存里不會實時顯示,總是再最后才一次性把所有的緩存信息顯示,這樣的延遲導致看不到動態(tài)效果。經(jīng)過測試,windowns平臺的pycharm工具不存在此問題,加不加效果都一樣。
2.回車換行符的使用:
# 回車和換行的歷史:
# 機械打字機有回車和換行兩個鍵作用分別是:
# 換行 'n' 就是把滾筒卷一格,不改變水平位置。 (即移到下一行,但不是行首,而是和上一行水平位置一樣)
# 回車 'r' 就是把水平位置復位,不卷動滾筒。 (即將光標移到行首,但是不會移到下一行,如果繼續(xù)輸入的話會覆蓋掉前面的內(nèi)容)
# Enter = 回車+換行(rn)
所以可以利用回車符,不斷清除前面的字符,然后循環(huán)顯示新的字符,來實現(xiàn)動態(tài)滾動效果。
2個實例如下:
實例1 動態(tài)廣告語
import time
content = '鉆石永久遠,一顆永流傳!'
while True:
print('r', content, end='', flush=True) #去掉flush參數(shù)效果也一樣
content = content[1:] + content[0] time.sleep(0.5)
實例2 等待效果
import time
while True:
print('鉆石永久遠,一顆永流傳', end=' ')
for i in range(10):
print('·', end='', flush=True) #去掉flush參數(shù)效果也一樣
time.sleep(0.3)
print('r',end='')
作者:晃晃OoO悠悠
總結
以上是生活随笔為你收集整理的python 滚动字幕_python 实现字幕动态滚动和等待效果的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BUUCTF:小明的保险箱
- 下一篇: python常用的第三方库