Repo
Never use print for debugging again
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| import pysnooper import random
def foo(): lst = [] for i in range(10): lst.append(random.randrange(1, 1000))
with pysnooper.snoop(): lower = min(lst) upper = max(lst) mid = (lower + upper) / 2 print(lower, mid, upper)
foo()
import pysnooper
@pysnooper.snoop() def number_to_bits(number): if number: bits = [] while number: number, remainder = divmod(number, 2) bits.insert(0, remainder) return bits else: return [0]
number_to_bits(6)
|
前者显示如下:
1 2 3 4 5 6 7 8 9 10
| New var:....... i = 9 New var:....... lst = [681, 267, 74, 832, 284, 678, ...] 09:37:35.881721 line 10 lower = min(lst) New var:....... lower = 74 09:37:35.882137 line 11 upper = max(lst) New var:....... upper = 832 09:37:35.882304 line 12 mid = (lower + upper) / 2 74 453.0 832 New var:....... mid = 453.0 09:37:35.882486 line 13 print(lower, mid, upper)
|
- 全局设置部分
- 或者利用一定的倾入性,去显示整个程序运行的状态
如果利用pysnooper去分析整体python的运行逻辑?