问题:
如何在记录日志的同时将输出显示到控制台它到一个文件,包括系统调用输出?
解决方案:
利用 Tee 类将系统输出复制到日志文件而不重定向。
首先,导入必要的库:
import sys
然后,实例化一个Tee object:
tee = Tee("my_log.txt", 'w')
这将打开指定的日志文件并将所有后续的 stdout 输出复制到文件和控制台。
最后,确保将 stdout 恢复到其原始状态完成:
del tee
用法示例:
with Tee("my_log.txt", 'w'): print("foo bar") os.spawnve("P_WAIT", "/bin/ls", ["/bin/ls"], {}) os.execve("/bin/ls", ["/bin/ls"], os.environ)
此代码将打印“foo bar”到控制台并将其记录到“my_log.txt”,以及记录执行的系统命令的任何输出。
以上是如何同时将程序输出显示到控制台并将其记录到文件中?的详细内容。更多信息请关注PHP中文网其他相关文章!