Python输出重定向
当我在Linux机器上运行Python输出重定向,python,linux,io,Python,Linux,Io,当我在Linux机器上运行python3解释器并试图将其stdout重定向到这样的文件时,什么也没有发生: user@workmachine:~$ python3 > python.txt Python 3.5.2 (default, Nov 23 2017, 16:37:01) [GCC 5.4.0 20160609] on linux Type "help", "copyright", "credits" or "license" for more information. \>
python3
解释器并试图将其stdout
重定向到这样的文件时,什么也没有发生:
user@workmachine:~$ python3 > python.txt
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
\>>>
解释器运行时以及关闭后,python.txt文件保持为空。它的所有输出仍然在终端
另一方面,如果我重定向R
解释器
同样的方法(R>R.txt
)结果与预期一致(所有输出重定向到文件,在终端中看不到任何内容)
有什么区别?python是否将其所有输出都写入stdout以外的另一个流,或者是什么?对于您的情况,python似乎将信息发送到STDERR而不是stdout。因此,您应该使用重定向,如:
user@workmachine:~$ python3 2> python.txt
对于您的情况,python似乎将信息发送到STDERR而不是STDOUT。因此,您应该使用重定向,如:
user@workmachine:~$ python3 2> python.txt
可能重复,等等@jww,你提到的问题是关于非交互模式。请阅读我的回答中的评论,可能是重复的,等等@jww,你提到的问题是关于非交互模式的。请阅读我的回答中的评论。交互程序通常会将代码写入stderr而不是stdout。例如,
read-p”键入某物:“
将在stderr上显示其提示。交互程序写入stderr而不是stdout是很常见的。例如,read-p“键入某物:
将在stderr上显示其提示。