解决python print延迟问题
2014-01-27 23:28
691 查看
最近写了几个python脚本,在用print输出的时候,都有一个很讨厌的问题,就是print的输出被延迟了,什么情况呢,类似这样
1 import os
2 print ‘first print
3 os.system('./second-print.sh')
在second-print.sh中,也会有一些打印信息输出到控制台
正常情况下,first print要先于second print出现再控制台,但实际的情况却是相反的。
这是个小问题,却非常的烦人,今天终于不能忍受,google了一番,发现很多人都有同样的痛苦,痛苦的根源是python默认启用了stdout缓冲,解决的办法有两种
一种办法是每次print后,都调用stdout flush(),把缓冲区打印出来,这个办法比较麻烦,要重载stdout,不推荐。最简单的方法是用命令行参数-u启动python,禁用stdout缓冲
比如脚本是build-native.py,运行 python -u build-native.py就不会出现print延迟问题了
1 import os
2 print ‘first print
3 os.system('./second-print.sh')
在second-print.sh中,也会有一些打印信息输出到控制台
正常情况下,first print要先于second print出现再控制台,但实际的情况却是相反的。
这是个小问题,却非常的烦人,今天终于不能忍受,google了一番,发现很多人都有同样的痛苦,痛苦的根源是python默认启用了stdout缓冲,解决的办法有两种
一种办法是每次print后,都调用stdout flush(),把缓冲区打印出来,这个办法比较麻烦,要重载stdout,不推荐。最简单的方法是用命令行参数-u启动python,禁用stdout缓冲
比如脚本是build-native.py,运行 python -u build-native.py就不会出现print延迟问题了
相关文章推荐
- 2.4 python中的字符串、索引和截取 [python入门教程]
- 2.3 python中的变量和赋值 [python入门教程]
- python,flask,web,login
- 2.2 python中的操作符 [python入门教程]
- 2.1 python中的print和raw_input语句 [python入门教程]
- Metaprogramming in Python
- python使用os模块的os.walk遍历文件夹
- 1. python语言特点和安装 [python入门教程]
- Ubuntu 13.10 下安装python 3.3 IDLE
- Python字典按值排序、包含字典的列表按字典值排序的方法
- Python 用ctypes观察Python对象的内存结构 -- (转)
- 金山快盘API的python版
- python参考手册--第9章
- python连接hive
- Python标准模块logging
- Python 关于拷贝(copy)汇总(列表拷贝 // 字典拷贝 // 自定义对象拷贝)
- Python中time模块详解(转)
- Python eval 函数说明
- Python自然语言处理(三) -- 利用NLTK进行聚类
- Python自然语言处理(二)--NLTK调用Stanford_NLP_Tools完成NLP任务