python 之 sys.stdout输出不换行
在处理程序打进度条时,希望不换行显示进度,可以使用sys.stdout相关函数来进行处理。
1.print 输出不换行
首先可以使用print函数来整体输入,利用,结尾就可以在同一行内显示:
# python=2.7,py3.x print要加括号
for i in range(10):
print i,
>>> 0 1 2 3 4 5 6 7 8 9
但是这种方法只能在一行里连续输出,并且只能在换行时候才显示出来。
2.sys.stdout进行实时显示
为了进行实时显示,我们需要利用sys.stdout来实现。
import sys
for i in range(10):
sys.stdout.write(str(i))
sys.stdout.flush()
# 输出连续的字符
>>> 0123456789
# 可以利用这个做一个进度条:
sys.stdout.write('Processing>>>')
for i in range(10):
sys.stdout.write('*')
sys.stdout.flush()
>>> Processing>>>**********
但是这种方法输出的是不断累加的,进度条会不断增加。如果想要输出百分数不断刷新精度就需要利用额外的方法了。
3.回车或退格符的使用
stdout.write将需要写的内容放到缓存里,而后flush来进行刷新。为了不换行不叠加的显示前文的信息,我们可以利用\r将光标移到行首,然后将前面的输出覆盖即可显示新的内容:
for i in range(10):
sys.stdout.write(str(i)+'\r')
sys.stdout.flush()
time.sleep(0.5)
# 将依次输出0~9十个数字
>>> 9
# 我们可以输出对应的百分数进度
for i in range(10):
sys.stdout.write(str(i+1/1*10)+'%\r')
sys.stdout.flush()
time.sleep(0.5)
# 将依次输出10%~100%
>>> %100
# 稍微改造一下就是很好看的进度条
for i in range(10):
bar_str = i * '>'
sys.stdout.write(str((i+1)/1*10)+'%' + bar_str + '\r')
sys.stdout.flush()
time.sleep(0.5)郑州妇科医院哪家好 http://www.zzkedayy.com/
# 可以直接copy上面的代码就可以输出下面的进度条样式,在同一行中刷新百分数,延长进度符号
>>> 100%>>>>>>>>>
除了使用\r外,还可以使用退格符号\b在进度条后进行刷新:
for i in range(10):
sys.stdout.write('*->'+ '\b\b') #为了不断加长中间的*,需要先将->删除再写入
sys.stdout.flush()
time.sleep(0.5)
# 带箭头的进度条
>>> **********->
# 最后把百分数也加上
for i in range(10):
bar_str = i * '*' + '->'
sys.stdout.write(str((i+1)/1*10)+'%' + bar_str + '\b\b\r')
sys.stdout.flush()
time.sleep(0.5)
# 刷新百分数和逐渐增长的进度条:
>>> 100%*********->
python 之 sys.stdout输出不换行的更多相关文章
- python之sys.stdout、sys.stdin以及设置打印到日志文件等
转自:https://www.cnblogs.com/BigFishFly/p/6622784.html python之sys.stdout.sys.stdin 转自:http://www.cnblo ...
- python中如何使输出不换行
1.在python 2.x版本中,使用“,”(不含双引号)可使输出不换行,例如 2.python 3.x版本输出不换行格式如下 print(x, end="") end=&q ...
- Python 为什么sys.stdout.write 输出时后面总跟一个数字
sys.stdout 是标准输出文件.write就是往这个文件写数据. 合起来就是打印数据到标准输出 因为-在交互模式下会输出函数返回值,而write会返回输出的字符数量.在命令行里不会显示
- python 中sys.stdout.write 和 print >> sys.stdout的区别(转)
下面应该可以解你的惑了: print >> sys.stdout的形式就是print的一种默认输出格式,等于print "%VALUE%" 看下面的代码的英文注释,是p ...
- Python 标准输出 sys.stdout 重定向(转)
add by zhj: 其实很少使用sys.stdout,之前django的manage.py命令的源码中使用了sys.stdout和sys.stderr,所以专门查了一下 这两个命令与print的区 ...
- python之sys.stdout、sys.stdin
转自:http://www.cnblogs.com/turtle-fly/p/3280519.html 本文环境:Python 2.7 使用 print obj 而非 print(obj) sys. ...
- Python 标准输出 sys.stdout 重定向
本文环境:Python 2.7 使用 print obj 而非 print(obj) 一些背景 sys.stdout 与 print 当我们在 Python 中打印对象调用 print obj 时候, ...
- python中sys.stdout、sys.stdin
如果需要更好的控制输出,而print不能满足需求,sys.stdout,sys.stdin,sys.stderr就是你需要的. 1. sys.stdout与print: 在python中调用print ...
- python(5)- sys.stdout()实现进度条
1. 使用\r , 让其始终在行首输出,实现进度条 import sys, time ''' 使用\r 来实现进度条的效果,\r 是光标移到行首但不换行. 假设文件大小为60,一下下载1, 下载到60 ...
随机推荐
- LOJ#107. 维护全序集(FHQ Treap)
题面 传送门 题解 板子,没啥好说的 //minamoto #include<bits/stdc++.h> #define R register #define inline __inli ...
- Vue 生成PDF并下载
实现原理 该功能原理是将页面转化伟canvas在把canvas转化为base64数据 最后将数据通过pdf.js生成下载,故需要和html2canvas一起使用 友情提醒这个pdf下载不能在app里直 ...
- hdu5111 树链剖分,主席树
hdu5111 链接 hdu 思路 先考虑序列上如何解决. 1 3 2 5 4 1 2 4 5 3 这个序列变成 1 2 3 4 5 1 3 5 5 2 是对答案没有影响的(显然). 然后查询操作\( ...
- 基于web公交查询系统---搭建mvc连接数据库(我的毕业设计,进度继续)
建立一个spring的项目:我在已经做过的项目基础下做的,所以接口连接数据库挺快. 搭建好的.对应好数据库: 前几天进度已经完成简单的设计: 完成登录,用户管理(修改删除). 继续的数据库的信息获取, ...
- quick: iskindof使用注意
quick: iskindof使用注意 --[[-- 如果对象是指定类或其子类的实例,返回 true,否则返回 false ~~~ lua local Animal = class("Ani ...
- ACT开发初步(一)
ACT的全称是Application Customization Toolkit,是面向ANSYS系列产品的统一的二次开发平台.利用基于Python的API(Application Programmi ...
- linux 系统时间 EST CST
早上本来要做一些实验的,基于时间的.date 查看时间,发现时间不对.用 pool.ntp.org 去同步发现时间还是一样的,并且没有报错.如是开启另外一台时间对的linux服务器进行对比.发现一个是 ...
- docker Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post
利用docker构建时,报错 + docker pull maven:3-alpine Got permission denied while trying to connect to the Doc ...
- 避免因为Arcgis Server服务设置不当导致Oracle Process溢出的方法
我之前写过一篇文章<arcsoc进程无限增长导致oracle processes溢出>(见链接:https://www.cnblogs.com/6yuhang/p/9379086.html ...
- CI框架从哪里看起?CI框架怎么开始学习,CI的初始设置
很多朋友不知道CI框架从哪里开始学起,想学一个新的框架其实并不难.只要你认真研究,自习摸索都很简单! 概述和基本配置参数 配置CI: application/config/config.php:14配 ...