首页 > 解决方案 > 打印后将文本打印成打印文本

问题描述

我的想法是在打印的文本完成打印后,在一组打印的文本中插入一行缓慢移动的文本。

例如:

@@@@@@@@@@@@@@
@  SlowText  @
@@@@@@@@@@@@@@

边框会立即打印出来,然后会在很短的时间后出现SlowText,慢慢写出来。

我尝试了几个不同的缓慢移动的文本片段来执行实际的写作。喜欢:

def print_slow(txt):
    for x in txt:                    
        print(x, end='', flush=True) 
        sleep(0.1)

def insertedtext():
    text = " E..n..j..o..y..."
    for character in text:
        sys.stdout.write(character)
        sys.stdout.flush()
        time.sleep(0.05)

我尝试过使用'#'+ words + '#',尝试在其中扔另一个print("words")。哎呀,我什至尝试将它设为一个变量,但由于我对 Python 还很陌生,我似乎可以弄清楚它或者正确地用谷歌搜索它,以便我自己找到它。提供任何/所有帮助。

标签: pythontext-based

解决方案


我认为这就是您要寻找的东西:

from time import sleep

def make_box (character, width) :
    print (character * (width + 4))
    print (character + ' ' * (width + 2) + character)
    print (character * (width + 4))

def print_slow (character, text):
    print ('\033[2A' + character, end = ' ')
    for x in text:                    
        print (x, end='', flush=True) 
        sleep (0.1)
    print ()

box_character = '@'
text = 'This is a test'
make_box (box_character, len (text))
print_slow (box_character, text)

行打印('\033[2A...将光标向上移动两行。


推荐阅读