我们在玩 Python 的时候
常常会使用到 print 这个函数
主要用它来打印一些输出
这样我们可以更加方便的知道
程序的运行情况
我们常常这样操作
![5a4e28ccb763df877c653eabdb67fdf2.png](https://i-blog.csdnimg.cn/blog_migrate/f8e3c978165b014a3914a9ca1ecc0bd0.jpeg)
不过不是很骚
有时候我们想更加直观的看到我们程序的运行进度
比如你爬取某个文件的时候想看看它的下载进度啥的
这次
小帅b来告诉你print的一些骚操作
![ffbe795571802759fe70d6fca77165be.png](https://i-blog.csdnimg.cn/blog_migrate/1b739c354881d5d456e6aa45079a33b2.jpeg)
那么接下来就是学习 python 的正确姿势
![2b8bff4694b7a61d186ac67d1c4e0b61.png](https://i-blog.csdnimg.cn/blog_migrate/0269d5c0497a7d37bd5483c9854eeec9.jpeg)
在 Python 中print 函数中的 end 默认是
也就是说你在打印每个语句的时候
最后都以换行结尾
比如这样
![c0687d04984ee73eadd3a33e34adb9a4.png](https://i-blog.csdnimg.cn/blog_migrate/328a38ed991f7a9e9e1ec9d7ca2f9d06.jpeg)
这样的打印结果是这样的
![df76dbd3fbf4dbee4f1505dfadbb222f.png](https://i-blog.csdnimg.cn/blog_migrate/34271e0510058de031b550848e7b6491.jpeg)
但是我们要的是
在一行中打印就行并且能够一直刷新
那么我们可以把 end 给改了
默认是换行我们改成空字符试试看
![f106ae313e99e295297b06a0cc218191.png](https://i-blog.csdnimg.cn/blog_migrate/6f1e60a0a01eed5d36fbde9df657f86c.jpeg)
结果是这样的
![9cd5f6cea0ab9dc9dab7bec7ee5ac152.png](https://i-blog.csdnimg.cn/blog_migrate/99f1799e4b77dbbe7ea58da2f7026142.jpeg)
虽然是一行不过它是整块一起出来的
没有刷新我们可以加个强制刷新
![90f26cb422fa43f272f1626da191621d.png](https://i-blog.csdnimg.cn/blog_migrate/ed524e76dcb5105a1f7779df2bfc44ae.jpeg)
因为 flush 默认为 False只有所有内容都有了然后一次性都打印出来
而使用 True 就可以做到每次打印都及时显示出来
使用 sleep 来看看显示效果
![621544acbe9198a28da3d7edc8db1802.gif](https://i-blog.csdnimg.cn/blog_migrate/443533210ff8ab101a7543b60c2b2b21.gif)
不过对于一些百分比显示这样操作就不好了
比如我们要显示这样的进度百分比
![b504d0bf18b1cdb66a7073ce830a3f44.png](https://i-blog.csdnimg.cn/blog_migrate/ae02359809fbc24971a54434cc9022d6.jpeg)
想必你也想到了结果是这个鸟样
![0ad58e29f4f8d70f6d0fe3c512f21489.png](https://i-blog.csdnimg.cn/blog_migrate/73eb9367c56e8fab1f59081181dc01d8.jpeg)
我们希望的是
数字一直变换就行了对吧
这时候我们可以使用
这个转义字符
它可以做到每次都回到开头
我们试试看吧
![5e3f0358177ea2f8d16bb815e89bb283.png](https://i-blog.csdnimg.cn/blog_migrate/65f832df9a4099e9af904cedec7ffece.jpeg)
这里我们加入 之后
就可以达到我们预想的那样啦
![82adf31f35b8979c285d5fa88dcb193a.gif](https://i-blog.csdnimg.cn/blog_migrate/29cbb4d63ed9859a05f372207fcef615.gif)
当然了如果觉得自己搞一个这样的有点麻烦
也有很多库满足你的需求比如
tqdm
![097e49bc3758da6fa90d8b83b769853b.png](https://i-blog.csdnimg.cn/blog_migrate/fd223f0f5ae9f18cfd9b181af4eeccff.jpeg)
秀
![bfdec4b5d5429aa8b13d2f291c1d8898.gif](https://i-blog.csdnimg.cn/blog_migrate/d4b7be3ba1ce53bd2dcc4dd39a1b3093.gif)
又比如
progressbar
![654fe9a3eade04a3a16bab3900c9979c.png](https://i-blog.csdnimg.cn/blog_migrate/013286b9686fcf9834ffaacac1892634.jpeg)
效果是这样的
![c789fbf219882eeff9299e252d524f44.gif](https://i-blog.csdnimg.cn/blog_migrate/e88bad8876a8a9ca78ee2e84758acf6d.gif)
以上这两个都是我挺喜欢用的库
好了本期就分享到这
我们下次见peace
![bc5fd1cc3575f310dc3b4c9fc8a80b3f.gif](https://i-blog.csdnimg.cn/blog_migrate/02e62f0e039fb800443ec3397f4b6e51.gif)
学习 Python 没烦恼
要给我点“赞”吗?