关于print的一点秀操作
我们在玩 Python 的时候
常常会使用到 print 这个函数
主要用它来打印一些输出
这样我们可以更加方便的知道
程序的运行情况
我们常常这样操作
不过不是很骚
有时候我们想更加直观的看到我们程序的运行进度
比如你爬取某个文件的时候想看看它的下载进度啥的
这次来告诉你print的一些骚操作
那么接下来就是学习 python 的正确姿势
在 Python 中print 函数中的 end 默认是 \n
也就是说你在打印每个语句的时候
最后都以换行结尾
比如这样
![](https://img2018.cnblogs.com/blog/1288400/201909/1288400-20190930104453617-1938293268.png)
这样的打印结果是这样的
![](https://img2018.cnblogs.com/blog/1288400/201909/1288400-20190930104513422-1923708624.png)
但是我们要的是
在一行中打印就行并且能够一直刷新
那么我们可以把 end 给改了
默认是换行我们改成空字符试试看
![](https://img2018.cnblogs.com/blog/1288400/201909/1288400-20190930104532968-2079558982.png)
结果是这样的
![](https://img2018.cnblogs.com/blog/1288400/201909/1288400-20190930104548188-366501643.png)
虽然是一行不过它是整块一起出来的
没有刷新我们可以加个强制刷新
![](https://img2018.cnblogs.com/blog/1288400/201909/1288400-20190930104616698-1319493110.png)
因为 flush 默认为 False只有所有内容都有了然后一次性都打印出来
而使用 True 就可以做到每次打印都及时显示出来
使用 sleep 来看看显示效果
![](https://img2018.cnblogs.com/blog/1288400/201909/1288400-20190930104641398-880925380.gif)
不过对于一些百分比显示这样操作就不好了
比如我们要显示这样的进度百分比
![](https://img2018.cnblogs.com/blog/1288400/201909/1288400-20190930104713557-225096467.png)
想必你也想到了结果是这个鸟样
![](https://img2018.cnblogs.com/blog/1288400/201909/1288400-20190930104736053-1757149604.png)
我们希望的是
数字一直变换就行了对吧
这时候我们可以使用
\r这个转义字符
它可以做到每次都回到开头
我们试试看吧
![](https://img2018.cnblogs.com/blog/1288400/201909/1288400-20190930104833445-1653213662.png)
这里我们加入 \r 之后
就可以达到我们预想的那样啦
![](https://img2018.cnblogs.com/blog/1288400/201909/1288400-20190930104858772-1564138315.gif)
当然了如果觉得自己搞一个这样的有点麻烦
也有很多库满足你的需求比如
tqdm
![](https://img2018.cnblogs.com/blog/1288400/201909/1288400-20190930104927002-267765398.png)
秀
![](https://img2018.cnblogs.com/blog/1288400/201909/1288400-20190930105037617-327023108.gif)
又比如
progressbar
![](https://img2018.cnblogs.com/blog/1288400/201909/1288400-20190930105012802-1252131832.png)
效果是这样的
![](https://img2018.cnblogs.com/blog/1288400/201909/1288400-20190930105109996-269345977.gif)
以上这两个都是我挺喜欢用的库
好了本期就分享到这
我们下次见peace