时间:2021-07-01 10:21:17 帮助过:128人阅读
代码如下:
#!/usr/bin/env python
import sys
sys.stdout.write("stdout1 ")
sys.stderr.write("stderr1 ")
sys.stdout.write("stdout2 ")
sys.stderr.write("stderr2 ")
代码如下:
stdout1 stderr1 stdout2 stderr2
代码如下:
stderr1 stderr2 stdout1 stdout2
代码如下:
python -u stderr_stdout.py
PYTHONUNBUFFERED=1 python stderr_stdout.py
附:stackoverflow上也有同学遇到类似问题,可以参考一下
地址:http://stackoverflow.com/questions/107705/python-output-buffering
被采纳的代码:
代码如下:
class Unbuffered(object):
def __init__(self, stream):
self.stream = stream
def write(self, data):
self.stream.write(data)
self.stream.flush()
def __getattr__(self, attr):
return getattr(self.stream, attr)
import sys
sys.stdout = Unbuffered(sys.stdout)
print 'Hello'