python3 删除命令行中输出的内容

python3 删除命令行中输出的内容

1.\r 与 \b

python的print里内置了\r \b两种转义符号, 类似于\ n. 其中\r 表示将光标移动到行首, \b将光标向前移动一位
光标移动有什么用呢? 当光标移动后, 光标后面的已经输出的字符对电脑来说变为空白, 但是我们还可以看见.
这样从新的光标位置开始输入时, 电脑就会覆盖后面已经输出了的内容, 相当于就是删除

写点代码表示一下

#注意print有个默认的end = "\n", 
#因此如果不手动设置进入下一行后, \b,\r就都失去作用了
#还有, 代码如果在shell里执行会出现各种奇奇怪怪的问题, 最好另编程序-_-
print('第一种情况123456789', end = '')
print('\b\b\bX')

print('第二种情况123456789', end = '')
print('\b\b\b')

print('第二种情况123456789', end = '')
print('\r第三')

print('第四种情况123456789', end = '')
print('\r                    ')

print('第五种情况123456789', end = '')
print('\b\b\b   ')

2.对于Windows电脑

os.system('cls') 直接清屏, 对于mac就没有用啦

3. 实现一个进度条

之前一直很好奇pip, brew的进度条怎么实现的, 现在用python也能实现啦,另外\b, \r的用法在很多其他语言里都能用哦

import time
for i in range(1000):
    print("|"*(i//100), i/10, "%\r", end = '')
    time.sleep(0.01)
print('|'*10+'        ')

你可能感兴趣的:(python)