Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么当我写到stderr时,我会在stdout上看到stderr输出?_Python_Stdout_Stderr - Fatal编程技术网

Python 为什么当我写到stderr时,我会在stdout上看到stderr输出?

Python 为什么当我写到stderr时,我会在stdout上看到stderr输出?,python,stdout,stderr,Python,Stdout,Stderr,你能解释一下为什么我在写stderr时,在stdout上看到了stderr的输出吗?我想只有STDOUT应该在终端中可见 import sys if __name__ == '__main__': sys.stdout.write("STDOUT\n") sys.stderr.write("STDERR\n") 我想只有STDOUT应该在终端中可见 import sys if __name__ == '__main__': sys.stdout.write("STD

你能解释一下为什么我在写stderr时,在stdout上看到了stderr的输出吗?我想只有STDOUT应该在终端中可见

import sys

if __name__ == '__main__':
    sys.stdout.write("STDOUT\n")
    sys.stderr.write("STDERR\n")
我想只有STDOUT应该在终端中可见

import sys

if __name__ == '__main__':
    sys.stdout.write("STDOUT\n")
    sys.stderr.write("STDERR\n")
不对。stderr是一个单独的文件描述符,但默认情况下它仍然连接到与stdout相同的tty

我想只有STDOUT应该在终端中可见

import sys

if __name__ == '__main__':
    sys.stdout.write("STDOUT\n")
    sys.stderr.write("STDERR\n")

不对。stderr是一个单独的文件描述符,但默认情况下它仍然与stdout连接到同一个tty。

默认情况下,stdout和stderr流都与显示设备连接,这就是为什么您也会在屏幕上看到syserr消息。

默认情况下,stdout和stderr流都与显示设备连接,这就是为什么您也会在屏幕上看到syserr消息。

通常,终端中会显示
stdout
stderr
。如果您的操作系统支持它,您可以将其中一个或两个重定向到其他位置。例如,您可以重定向
stdout
,而您只能在终端中看到
stderr
(或者您可以重定向
stderr
,而您只能在终端中看到
stdout

通常
stdout
stderr
显示在终端中。如果您的操作系统支持它,您可以将其中一个或两个重定向到其他位置。例如,您可以重定向
stdout
,而您只会在终端中看到
stderr
(或者您可以重定向
stderr
,而您只会在终端中看到
stdout

@Leopoldo不,那会(至少在POSIX中)这意味着
stdout
stderr
成为同一个流,您将看到这两个流(或无)。@Leopoldo-No,这将(至少在POSIX中)意味着
stdout
stderr
成为同一个流,您将看到这两个流(或无)。