不具合調査に使えそうなライブラリshowme
showmeはプログラムの不具合を調べるのに便利そうなデコレータのセットです
インストール
pip install showme
pycharmを使ってる場合はguiで入れても。
Preferences -> Project InterPreters -> Python InterpretersのInstallボタンから
使い方
- showme.trace
パラメータが多いfunctionにデコレータshowme.traceをつけると、どんなパラメータで呼び出されたのか出力してくれます。
import showme @showme.trace def complex_function(a, b, c, **kwargs): """ this is very complex function. """ pass complex_function(1, 'alpha','beta', debug=True)
実行結果
Calling __main__.complex_function with: args: (1, 'alpha', 'beta') kwargs: {'debug': True}
- showme.cputime
import showme @showme.cputime def complex_function(a, b, c, **kwargs): """ this is very complex function. """ pass complex_function(1, 'alpha','beta', debug=True)
実行結果
CPU time for __main__.complex_function: 2 function calls in 0.000 seconds Ordered by: standard name ncalls tottime percall cumtime percall filename:lineno(function) 1 0.000 0.000 0.000 0.000 showmetest.py:4(complex_function) 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}
- showme.docs
import showme @showme.docs def complex_function(a, b, c, **kwargs): """ this is very complex function. """ pass complex_function(1, 'alpha','beta', debug=True)
実行結果
Documentation for __main__.complex_function: this is very complex function.
- showme.time
import showme @showme.time def complex_function(a, b, c, **kwargs): """ this is very complex function. """ pass complex_function(1, 'alpha','beta', debug=True)
実行結果
Execution speed of __main__.complex_function: 2.86102294922e-06 seconds