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 ')
os.system('cls')
直接清屏, 对于mac就没有用啦
之前一直很好奇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+' ')