将控制台信息捕获到python中的文件



我想将控制台中捕获的所有信息捕获到一个文件中。 而不仅仅是控制台 print(( 函数。堆栈溢出有代码,说明如何将print()重定向到文件,但如果发生错误,则不会。就像你有一个程序会给出如下错误一样。它将给出一个

indexError: List index out of rang 

我想将所有控制台信息捕获到一个文件中,而无需在任何地方编写尝试和异常。

我的总体任务是使用 pyInstaller 创建一个带有日志文件的程序,并在日志中捕获控制台以了解程序损坏的位置。

list= ["hello","Bey"]
counter=0
while counter < 100:
print(list[counter])
counter=counter+1
#What the console print out. 
#print(list[counter])
#IndexError: list index out of range

您可能应该使用日志记录模块来完成此任务。但是,如果您仍然想将所有控制台输出重定向到文件,则可以将 stdout 和 stderr 的文件描述符重定向到 2 个不同的文件。因此,调用 python 脚本的控制台命令将如下所示

python myscript.py 1>C:Python27out_log.log 2>C:Python27err_log.log

执行后,out_log.log将具有"hello"和"Bey",而异常将重定向到err_log.log文件。在这种情况下,控制台上不会打印任何内容。

点安装日志记录
日志记录是你的朋友 https://docs.python.org/2.6/library/logging.html

最新更新