有分析python代码的工具吗?
我正在寻找一个工具来分析我的python脚本。比如说有分析python代码的工具吗?,python,code-analysis,Python,Code Analysis,我正在寻找一个工具来分析我的python脚本。比如说 代码的哪一部分花费的时间最多 代码的哪一部分占用了太多内存 等等 有这样的吗?看看。下面是一个用法示例: me@mine:~ $ cat foo.py def double(i): return i * 2 def halve(i): return i / 2.0 for i in range(10000): double(i) halve(i) me@mine:~ $ python -m cProfil
me@mine:~ $ cat foo.py
def double(i):
return i * 2
def halve(i):
return i / 2.0
for i in range(10000):
double(i)
halve(i)
me@mine:~ $ python -m cProfile foo.py
20005 function calls in 0.009 CPU seconds
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 0.009 0.009 <string>:1(<module>)
1 0.006 0.006 0.009 0.009 foo.py:1(<module>)
10000 0.001 0.000 0.001 0.000 foo.py:1(double)
10000 0.002 0.000 0.002 0.000 foo.py:4(halve)
1 0.000 0.000 0.009 0.009 {execfile}
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}
1 0.000 0.000 0.000 0.000 {range}
me@mine:~$cat foo.py
def double(i):
返回i*2
def减半(i):
返回i/2.0
对于范围(10000)内的i:
双(一)
减半(一)
me@mine:~$python-mcprofile foo.py
0.009 CPU秒内调用20005个函数
订购人:标准名称
ncalls tottime percall cumtime percall文件名:lineno(函数)
1 0.000 0.000 0.009 0.009 :1()
1 0.006 0.006 0.009 0.009 foo.py:1()
10000 0.001 0.000 0.001 0.000 foo.py:1(双倍)
10000 0.002 0.000 0.002 0.000福比:4(减半)
1 0.000 0.000 0.009 0.009{execfile}
1 0.000 0.000 0.000 0.000{方法'disable'的''lsprof.Profiler'对象}
1 0.000 0.000 0.000 0.000{范围}
一个好的内存分析器,正如链接到的帖子中提到的,是
如果您想获得每行分析信息,我发现该模块非常方便。它有点旧了,但它确实有用。。。正如罗伯特·克恩(Robert Kern)编写的代码所预期的那样;-) 这些工具通常被称为分析器。
%run -p your_python_script.py
%prun a_python_statement