Python 跟踪模块 - 执行时跟踪行,但保存到文件,而不是标准输出

标签 python stdout trace

我想在执行 python 脚本时跟踪它们的行。但是我使用的程序需要将内容打印到标准输出。 python 跟踪模块的跟踪选项将它们打印到标准输出。有没有告诉它不要将它们打印到标准输出,而是将它们保存到文件中?我尝试设置 outfile 参数,但它不会停止打印跟踪线。

最佳答案

您可以复制跟踪模块代码,并进行一些更改以将其输出写入您选择的文件。在第 600 行和第 650 行之间有五个 print 语句是您要更改的语句。因为你不需要让它太漂亮,你可以将它添加到文件的最后:

my_out_file = open("/home/mytrace.txt", "w")

并更改打印语句,这样:

print "%s(%d): %s" % (bname, lineno,
                      linecache.getline(filename, lineno)),

变成这样:

print >>my_out_file, "%s(%d): %s" % (bname, lineno,
                      linecache.getline(filename, lineno)),

关于Python 跟踪模块 - 执行时跟踪行,但保存到文件,而不是标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4286693/

相关文章:

python - 编写这个简单的 Python 非序列号生成器的更有效方法?

python - 循环访问多个 csv 文件并计算 NYSE 报价的最有效方法

python - 如何在给定的图上绘制垂直线

node.js - child_process.spawn 标准输出成 block 出现

python - 不从终端运行应用程序时, "print"到哪里?

python - 跟踪 Python 中的导入问题

google-app-engine - 如何将自定义跟踪添加到 Go 中的第二代 App Engine 应用程序?

python - 使用 reshape 时,“numpy.ndarray”对象没有属性 'values'

python - 防止子进程的子进程写入标准输出

java - 减少条件跟踪/记录调用的开销