我有一个用 Python 编写的程序,它写入stderr
和stdout
。我使用调用它pythonw
,这意味着它会运行没有命令行。
Windows 是否保存这些日志文件?如果是,保存在哪里?
(我知道我可以在 python 中或使用命令行重定向它们,但它们会自动存储吗?)
答案1
假设您的程序是从命令提示符调用的,则 stderr 和 stdout 默认定向到控制台。
如果您想将它们保存到文件中,则必须重定向输出。
标准输出:
c:\path\program.exe >c:\temp\stdout.log
标准错误:
c:\path\program.exe 2>c:\temp\stderr.log
不同文件中的 STDOUT 和 STDERR
c:\path\program.exe >c:\temp\stdout.log 2>c:\temp\stderr.log
同一文件中的 STDOUT 和 STDERR
c:\path\program.exe >c:\temp\stdout.log 2>&1
如果要添加到现有日志文件而不是覆盖内容,请使用“>>”而不是“>”。如果日志文件不存在,则在两种情况下都会创建它。
编辑:在我最初的回答之后,你编辑了你的问题,添加了更多细节。所以新的答案是:不,它们不会自动存储。如果需要,你必须明确将输出流重定向到文件。