python3 sys.stdout.write 实时打印刷新
话不多说先上一段代码
import time
from datetime import datetime as dtfor i in range(5):print(dt.now())time.sleep(1)
输出结果为:
2019-07-31 11:40:00.334841
2019-07-31 11:40:01.335235
2019-07-31 11:40:02.335700
2019-07-31 11:40:03.335846
2019-07-31 11:40:04.336174
可见每打印一条时间信息都会另起一行打印下一条,这是为什么呢?
让我们在代码中执行help(print)语句得到如下信息
Help on built-in function print in module builtins:print(...)print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)Prints the values to a stream, or to sys.stdout by default.Optional keyword arguments:file: a file-like object (stream); defaults to the current sys.stdout.sep: string inserted between values, default a space.end: string appended after the last value, default a newline.flush: whether to forcibly flush the stream.
可见每次执行print函数,结尾都会执行换行。如果我们想每次输出新的时间信息的同时覆盖原时间信息该怎么做呢?
这时我们可以用sys.stdout.write函数:
import time
from datetime import datetime as dt
import syswhile True:sys.stdout.write('\r{0}'.format(dt.now()))sys.stdout.flush()time.sleep(1)
效果:
2019-07-31 13:45:15.537898
每次只输出一行信息,每秒更新一次
python3 sys.stdout.write 实时打印刷新相关推荐
- python3 sys.stdout.write print 区别
当我们使用print(obj)在console上打印对象的时候,实质上调用的是sys.stdout.write(obj+'\n'),print在打印时会自动加个换行符,以下两行等价: sys.stdo ...
- 【python】sys.stdout输出不换行
在处理程序打进度条时,希望不换行显示进度,可以使用sys.stdout相关函数来进行处理. 1.print 输出不换行 首先可以使用print函数来整体输入,利用,结尾就可以在同一行内显示: # py ...
- python标准输入输出用来干什么_python 以标准输出(sys.stdout)为例,看python的标准输入、标准错误输出...
标准输出(sys.stdout)对应的操作就是print(打印)了,标准输入(sys.stdin)则对应input(接收输入)操作,标准错误输出和标准输出类似也是print(打印). python最基 ...
- pythonsys标准_python 以标准输出(sys.stdout)为例,看python的标准输入、标准错误输出...
标准输出(sys.stdout)对应的操作就是print(打印)了,标准输入(sys.stdin)则对应input(接收输入)操作,标准错误输出和标准输出类似也是print(打印). python最基 ...
- python stdout_python 之sys.stdout小记
标准输出(sys.stdout)-->print(打印) 标准输入(sys.stdin)-->input(接收输入) 标准错误输出和标准输出类似也是print(打印). python最基本 ...
- python3 x版本的默认编码_python3.x设置默认编码(sys.stdout.encoding和sys.defaultencoding)...
查了一会资料得出的结论是如果你用的是python3.x,那么就最好别去设置sys.defaultencoding或者sys.stdout.encoding 记住在需要编码的时候用encode,解码的时 ...
- Python——sys.stdout.flush()方法的作用
flush()的作用是刷新缓冲区. 缓冲区的刷新有三种:1,缓冲区满自动刷新:2,flush刷新:3,程序结束自动刷新 import time,sys def progress_bar(i):prin ...
- Python的sys.stdout、sys.stdin重定向
Python的sys.stdout.sys.stdin重定向 转自:http://www.cnblogs.com/turtle-fly/p/3280519.html 本文环境:Python 2.7 使 ...
- sys.stdout.flush()
python的stdout是有缓冲区的,给你个例子你就知道了 import time import sysfor i in range(5):print i,#sys.stdout.flush()ti ...
最新文章
- python求平方根的代码_Python求平方根(附带源码)
- Java集群优化——dubbo+zookeeper构建高可用分布式集群
- 一分钟学会使用RichEdit控件
- 使用adb查看数据库的一些命令
- 通过批处理文件启动Oracle服务
- xshell连接虚拟机linux系统失败问题
- Android WebView的Js对象注入漏洞解决方案
- java for循环时间最短_Java For循环vs While循环,奇怪的行为和时间性能
- I.MX6 gpio-keys driver hacking
- CProgressCtrl进度条控件实现进度滚动效果
- centos7安装mysql客户端
- 基于Krpano的全景导游系统设计与实现(含word文档)
- CSI笔记【3】:多进多出/MIMO技术
- java like查询 mongodb_java MongoDB查询(一)简单查询
- html5中背景图片的大小怎么调,css中怎么改变背景图片大小?
- Java解析OpenDrive,OpenDrive格式解析
- 《王者圣域》2.23上线链游玩家|放置塔防、趣味竞技
- html怎么做密码的判断,用户密码格式判断 .html
- unity学习途中奇奇怪怪的问题——Unity打不开VS的问题
- IDEA下搭建分布式开发环境