参考链接:
\r 能将光标定位到当前行的行首
\b则是将光标回退一位
光标的含义:
光标后面的输出内容均会消失,光标回退后,后面位置的内容都会被抹除
print('按下回车开始计时,按下 Ctrl + C 停止计时。')print('第2行\r',end='mark')#这一行会消失,因为“第2行”输出后,\r会将光标回退到行首,然后输出end指定的内容即为“mark”#注意上面没有换行符了,默认的end是\nprint('第3行“第三行”不会消失')print('第3行\r“第3行”会消失')#因为输出了第三行后,光标回退到行首,即后面的内容“第3行”被抹除了print('第3行\b“行”会消失')#“\b"回退1位print('第4行\r')#这个为什么没有被抹除呢,看下面这一行print('第4行\ra')#结合输出结果来看,这个光标移到行首,后面的内容并不是立即被抹除的,而是输出一位,抹除一位print('第5行\r')#所以这一行输出了”第5行“后,光标被移到行首了,然后输出了默认的end值”\n",但是这样的话结果中的第5行前不是应该有个空行吗?#输出lient' '--host' 'localhost' '--port' '5819' 'c:\Users\Administrator.SC-201605202132\Envs\sort\app\forTest.py'按下回车开始计时,按下 Ctrl + C 停止计时。mark第3行“第三行”不会消失“第3行”会消失第3“行”会消失第4行a 4行第5行
*)写一个输出进度的
import timedef test(): for i in range(100): time.sleep(0.1) print('当前正运行第%d/%d次测试\r'%(i,100),end='')#必须要有这个end,要不没有用 print('append content')#而且这一行也不能有,其实也没必要有,因为如果后面一定有序列输出的,还不如分多次在附加内容输出后立即输出次数序列if __name__=="__main__": test()