我正在尝试按照这里的说明进行操作:http: //docs.python.org/2/library/profile.html#module-cProfile
具体来说,这部分:
import cProfile, pstats, io
pr = cProfile.Profile()
pr.enable()
... do something ...
pr.disable()
s = io.StringIO()
ps = pstats.Stats(pr, stream=s)
ps.print_results()
Run Code Online (Sandbox Code Playgroud)
我已经确定print_results不是Stats类的真正方法,它似乎也不存在于任何地方.这是我目前的代码:
import cProfile, pstats, io
def foo(request):
pr = cProfile.Profile()
pr.enable()
pass
pr.disable()
s = io.StringIO()
ps = pstats.Stats(pr, stream = s)
f = open('/profstats', 'a')
ps.print_stats()
f.write(s.getvalue())
s.close()
f.close()
Run Code Online (Sandbox Code Playgroud)
当前结果是:在/ inspection-summary/unicode参数的TypeError,得到'str'
(输出看起来像这样因为我使用Django来调用有问题的代码).
那么有谁知道如何让探查器实际上,好吧,工作?我只是希望它能像它应该的那样进行分析,然后将结果打印到文件中,以便我可以在执行后查看结果.我可以让dump_stats工作,但它生成的文件是垃圾.