亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PySnooper如何在python中使用

發布時間:2021-03-24 17:03:53 來源:億速云 閱讀:229 作者:Leah 欄目:開發技術

PySnooper如何在python中使用?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

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

給個簡單例子看看就知道了,

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))

添加裝飾器后,運行代碼就會輸出對應函數的執行數據

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

當然如果嫌棄這個直接輸出內容還想保存日志記錄的話,這個裝飾器還幾個可選參數,例如:

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

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

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

給調試的行加個前綴名便于辨識和定位,這個參數適用于如果同時調試多個函數使用,我這里的例子是使用了函數名稱來作為前綴名,摘抄一點日志記錄如下:

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)

顯示函數中調用函數的snoop行,depth參數的取值范圍是大于或等于1的正整數,在源碼里有這樣一個判斷:assert self.depth >= 1,當取小于1的值就會拋異常

看完上述內容,你們掌握PySnooper如何在python中使用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

驻马店市| 平舆县| 封丘县| 青河县| 奉化市| 堆龙德庆县| 山西省| 鄯善县| 钟祥市| 汾西县| 珠海市| 东城区| 光山县| 育儿| 辉南县| 双桥区| 牟定县| 栾城县| 同江市| 太和县| 克东县| 黄浦区| 崇明县| 东台市| 维西| 永登县| 杭锦旗| 聂拉木县| 仁寿县| 建阳市| 清原| 湘潭市| 庆安县| 伊吾县| 玉山县| 盐山县| 封丘县| 手机| 平泉县| 江安县| 莎车县|