Python2.7用sys.stdout.write实现打印刷新
2024-10-07 23:25:41
如何能在控制台实现在一行中显示进度的信息呢,就像使用pip安装时的进度那样。
如果用print则会打印成多行,下面这个小技巧可以在一行中打印:
import time
import sys if __name__ == "__main__":
for i in range(1,101):
sys.stdout.write('\r{}>{}%'.format('='*(i/10), i))
time.sleep(0.1)
sys.stdout.flush()
其关键就在于使用'\r'这个转义字符(回到行首),sys.stdout.write首先打印这一行后不带任何结尾,使用了转义字符"\r"使得光标回到行首,再把缓冲区显示出来,就得到了我们所需要的效果。
效果如下动图:
另外这里有一个别人写的进度的第三方库:https://pypi.python.org/pypi/progressbar2
---------------------------------------------------------------------------------
关注微信公众号即可在手机上查阅,并可接收更多测试分享~
最新文章
- C# 数字带逗号(千分位符、金钱千分位字符)
- EasyUI的DataGrid 打印导出
- IOS设备启动图像命名规范
- Spark入门学习
- Windows应用程序组成及编程步骤
- ExtJS中获取选中行的数据
- Beta冲刺阶段4.0
- 本地推送UILocalNotification(转)
- hdu 2266 dfs+1258
- POJ 3468A Simple Problem with Integers(线段树区间更新)
- protocol buffer开发指南
- 用java实现编译器-算术表达式及其语法解析器的实现
- java类中成员的初始化顺序(一)
- chrome浏览器插件推荐——Vimium 篇
- 流程设计器jQuery + svg/vml(Demo4 - 画连线)
- html中的事件属性
- iOS开发之--实现倒计时显示时分秒
- noip 2011观光公交
- PLSQL Developer 直接用ip访问指定数据库
- Centos7离线部署kubernetes 1.13集群记录