标准错误(std.err):直接打印到屏幕
标准输出(std.out):需要缓存后再输出到屏幕
sys.stdout.write("stdout1")
sys.stderr.write("stderr1")
sys.stdout.write("stdout2")
sys.stderr.write("stderr2")
实际输出位;stderr1stderr2stdout1stdout2
原因:stderr是无缓存的,程序往stderr输出一个字符,就会在屏幕上显示一个;
stdout是有缓存的,只有遇到换行或者积累到一定的大小,才会显示出来
python命令加上-u(unbuffered)参数后会强制其标准输出也同标准错误一样不通过缓存直接打印到屏幕。stdout1stderr1stdout2stderr2