Python 删除打印语句中的字符
我正在尝试创建一个程序,它键入任何需要键入的内容,有时它会出错并加以纠正,就像一个实际的人正在键入一样,下面是我的代码:Python 删除打印语句中的字符,python,python-3.x,Python,Python 3.x,我正在尝试创建一个程序,它键入任何需要键入的内容,有时它会出错并加以纠正,就像一个实际的人正在键入一样,下面是我的代码: import time import sys import random import string import uuid def my_random_string(string_length=4): random = str(uuid.uuid4()) random = random.lower() random = random.replac
import time
import sys
import random
import string
import uuid
def my_random_string(string_length=4):
random = str(uuid.uuid4())
random = random.lower()
random = random.replace("-","")
return random[0:string_length]
def delay_print(s):
for c in s:
sys.stdout.write( '%s' % c )
sys.stdout.flush()
time.sleep(random.uniform(0.01,0.5))
random_string = random.randint(0,6)
if random_string == 5:
sys.stdout.write(my_random_string(2))
time.sleep(0.1)
#delete the two characters
delay_print("Hello, and welcome to the Enrichment Centre")
我不知道如何删除我放置的两个字符。退格字符
\b
将返回到上一个字符之前,但是需要将其输入到实际的空白处。最简单的方法是进入一个空间。但是,一个字符的间距太大,因此需要在空格之前再加一个退格。你想循环两次,把这两个随机字符都去掉。我这样做是为了让它看起来像是有人在打字:
if random_string == 5:
sys.stdout.write(my_random_string(2))
sys.stdout.flush()
time.sleep(0.1)
for _ in range(2):
sys.stdout.write('\b \b')
sys.stdout.flush()
time.sleep(0.1)
我认为这是不可能的。您可以使用
\r
返回到行的开头,然后从那里开始。您是否尝试过编写退格字符\b
?@KeithHall只添加了一个正方形,而不是实际的正方形backspace@SylentNyte看见您需要键入一个backspace空格backspace,以使原来的内容消失。