Python 为什么当我写到stderr时,我会在stdout上看到stderr输出?
你能解释一下为什么我在写stderr时,在stdout上看到了stderr的输出吗?我想只有STDOUT应该在终端中可见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
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
成为同一个流,您将看到这两个流(或无)。