成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

PySnooper如何在python中使用-創(chuàng)新互聯(lián)

PySnooper如何在python中使用?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

目前成都創(chuàng)新互聯(lián)已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、巴州網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

首先直接可以使用 pip 安裝:pip install pysnooper使用時(shí),只需要在每個(gè)函數(shù)前面添加裝飾器即可。

給個(gè)簡(jiǎn)單例子看看就知道了,

import pysnooper
@pysnooper.snoop()
def removeDuplicates(nums):
  """
  :type nums: List[int]
  :rtype: int
  """
  flag = 0
  i=1
  while i<len(nums):
    if nums[i]==nums[i-1]:
      flag+=1
      i+=1
      if flag>=2:
        del nums[i-1]
        i-=1
    else:
      i+=1
      flag=0
  return len(nums)

nums = [1,1,1,2]
print(removeDuplicates(nums))

添加裝飾器后,運(yùn)行代碼就會(huì)輸出對(duì)應(yīng)函數(shù)的執(zhí)行數(shù)據(jù)

Starting var:.. nums = [1, 1, 1, 2]
13:03:44.990194 call        11 def removeDuplicates(nums):
13:03:44.990695 line        16     flag = 0
New var:....... flag = 0
13:03:44.990695 line        17     i=1
New var:....... i = 1
13:03:44.990695 line        18     while i<len(nums):
13:03:44.990695 line        19         if nums[i]==nums[i-1]:
13:03:44.990695 line        20             flag+=1
Modified var:.. flag = 1
13:03:44.990695 line        21             i+=1
Modified var:.. i = 2
13:03:44.991193 line        22             if flag>=2:
13:03:44.991193 line        18     while i<len(nums):
13:03:44.991193 line        19         if nums[i]==nums[i-1]:
13:03:44.991193 line        20             flag+=1
Modified var:.. flag = 2
13:03:44.991193 line        21             i+=1
Modified var:.. i = 3
13:03:44.991193 line        22             if flag>=2:
13:03:44.991193 line        23                 del nums[i-1]
Modified var:.. nums = [1, 1, 2]
13:03:44.991193 line        24                 i-=1
Modified var:.. i = 2
13:03:44.991193 line        18     while i<len(nums):
13:03:44.991193 line        19         if nums[i]==nums[i-1]:
13:03:44.991193 line        26             i+=1
Modified var:.. i = 3
13:03:44.991693 line        27             flag=0
Modified var:.. flag = 0
13:03:44.991693 line        18     while i<len(nums):
13:03:44.991693 line        28     return len(nums)
13:03:44.991693 return      28     return len(nums)
Return value:.. 3

當(dāng)然如果嫌棄這個(gè)直接輸出內(nèi)容還想保存日志記錄的話,這個(gè)裝飾器還幾個(gè)可選參數(shù),例如:

@pysnooper.snoop('log/file.log')

先創(chuàng)建好log目錄,然后將日志輸出到file文件中。

@pysnooper.snoop(prefix='removeDuplicates: ')

給調(diào)試的行加個(gè)前綴名便于辨識(shí)和定位,這個(gè)參數(shù)適用于如果同時(shí)調(diào)試多個(gè)函數(shù)使用,我這里的例子是使用了函數(shù)名稱來(lái)作為前綴名,摘抄一點(diǎn)日志記錄如下:

removeDuplicates: Starting var:.. nums = [1, 1, 1, 2]
removeDuplicates: 13:53:14.322036 call    11 def removeDuplicates(nums):
removeDuplicates: 13:53:14.323037 line    16   flag = 0
@pysnooper.snoop(variables=('foo.bar', 'self.whatever'))

查看非本地變量

@pysnooper.snoop(depth=2)

顯示函數(shù)中調(diào)用函數(shù)的snoop行,depth參數(shù)的取值范圍是大于或等于1的正整數(shù),在源碼里有這樣一個(gè)判斷:assert self.depth >= 1,當(dāng)取小于1的值就會(huì)拋異常

看完上述內(nèi)容,你們掌握PySnooper如何在python中使用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)頁(yè)題目:PySnooper如何在python中使用-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://jinyejixie.com/article46/csddeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、全網(wǎng)營(yíng)銷推廣、網(wǎng)站營(yíng)銷、ChatGPT、移動(dòng)網(wǎng)站建設(shè)、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
莲花县| 繁峙县| 吉木萨尔县| 桑植县| 北流市| 云龙县| 烟台市| 民权县| 凌源市| 宜兰市| 崇阳县| 星座| 丰原市| 炎陵县| 台北县| 商城县| 黔西县| 康保县| 长乐市| 汉源县| 千阳县| 新竹县| 久治县| 静海县| 旅游| 孙吴县| 伊金霍洛旗| 永仁县| 榆林市| 荔波县| 荔浦县| 上林县| 商丘市| 上犹县| 拜泉县| 潞城市| 纳雍县| 江西省| 门源| 沾益县| 磐石市|