trace - 在 python ( redux ) 中,setTrace()

  显示原文与译文双语对照的内容
0 0

对于 to,但我必须编辑这个问题,并且实现我需要有一个帐户才能这样做。 所以这里又是( 更多的上下文) 。

我正在尝试执行脚本的时间,我想通过检查执行的每行代码的运行时间来执行。 在脚本包含方法定义之前,我已经这么做了,但是我不确定它在这个实例中的作用。

所以我的问题是:是否有方法在没有方法定义的脚本中使用 setTrace() 函数? i.e.

for i in range(1, 100):
 print i
def traceit(frame, event, arg):
 if event =="line":
 lineno = frame.f_lineno
 print"line", lineno
 return traceit
sys.settrace(traceit)
时间:原作者:1个回答

0 0

不,如文档 say say每当输入新的本地作用域"如果你从不输入本地作用域( 并且仅在全局范围内执行),则为 -- ) 调用'),跟踪函数将永远不会被调用。 不过,如果你希望计时"。脚本执行的时间"的目的是改变测量的时间,请使用 settrace,它会改变测量值,如果你说的话实际上是你想要的时间,那么你就需要花一些时间来完成测试并打印出不同的结果。 如果你想要的是不同的,换句话说,概要文件,请参阅 cProfile

进一步注意,你提供的代码示例不可能执行任何有用的( 尽管我已经编辑了它来修正缩进错误): 先循环,然后输入一个函数,最后调用 settrace 。 然后立即结束因为没有更多的代码 ! 要想在循环开始之前 ,并且希望在模块 top ( 坏的想法但是不管) everything everything lexically在循环 before lexically lexically lexically lexically lexically lexically lexically lexically

原作者:
...