了解stdin stdout stderr

Ale*_*erg 19 stdin stdout stderr

我正在努力理解stdin stdoutstderr.

我看到它们一直用在人们的代码中,我无法完全理解它们是什么.我假设他们与输入/输出有关,但一直在网上寻找解释,但找不到.有没有人知道与解释的良好联系,或者它是否足够简单来解释它对我来说是一个很大的帮助.

因为我正在学习Python 3,所以这方面的例子会有所帮助.

Suk*_*uku 6

sys.stdin
sys.stdout
sys.stderr
Run Code Online (Sandbox Code Playgroud)

解释器用于标准输入,输出和错误的文件对象:

  • stdin用于所有交互式输入(包括调用input());

  • stdout用于输出print()和表达式语句以及提示input();

  • 解释器自己的提示及其错误消息转到stderr.

为了您的理解:

>>> import sys
>>> for i in (sys.stdin, sys.stdout, sys.stderr):
...     print i
... 
<open file '<stdin>', mode 'r' at 0x103451150>
<open file '<stdout>', mode 'w' at 0x1034511e0>
<open file '<stderr>', mode 'w' at 0x103451270>
Run Code Online (Sandbox Code Playgroud)

模式r意味着阅读,模式w意味着写作