日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

Python?的第三方調(diào)試庫????pysnooper???使用示例_python

作者:風(fēng)華絕代小浪浪 ? 更新時(shí)間: 2023-05-24 編程語言

一、背景

我們?cè)谶M(jìn)行代碼調(diào)試時(shí),通常使用兩種方式。

  • print 輸出調(diào)試的內(nèi)容或者標(biāo)識(shí)
  • 通過斷點(diǎn)調(diào)試debug
    但是我想知道代碼的中間的每一行程序運(yùn)行后的結(jié)果,方便的知道每一行程序運(yùn)行后的結(jié)果,而不需要再手動(dòng)增加 print 展示過程數(shù)據(jù)、調(diào)試程序
    Python 的第三方調(diào)試庫**???pysnooper??**。通過裝飾器輕松搞定

二、示例 ???pysnooper`??

??pip install pysnooper??

  • ??示例一??跟蹤整個(gè)函數(shù)
import pysnooper

@pysnooper.snoop()
def number_to_bits(number):
for i in range(4):
print(i)

number_to_bits(2)
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()
  • ??示例二???跟蹤相關(guān)部分

三、方法

  • 如果標(biāo)準(zhǔn)錯(cuò)誤輸出難以獲得,或者太長了,那么可以將輸出定位到本地文件:
@pysnooper.snoop('/my/log/file.log')
  • 查看一些非本地變量的值:
@pysnooper.snoop(variables=('foo.bar', 'self.whatever'))
  • 展示函數(shù)調(diào)用的函數(shù)的監(jiān)聽行
@pysnooper.snoop(depth=2)
  • 將所有 監(jiān)聽行以某個(gè)前綴開始,更容易定位和找到:
@pysnooper.snoop(prefix='ZZZ ')
  • ???高級(jí)更多?

原文鏈接:https://blog.51cto.com/u_12498385/6074949

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新