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

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ā)
乡宁县| 阳春市| 金寨县| 菏泽市| 德兴市| 开封县| 阿鲁科尔沁旗| 留坝县| 凤城市| 山丹县| 泸定县| 铜山县| 临漳县| 图木舒克市| 谷城县| 余干县| 长乐市| 甘南县| 卢龙县| 西昌市| 炎陵县| 长阳| 信宜市| 河南省| 陈巴尔虎旗| 辽宁省| 文成县| 深圳市| 彭水| 太康县| 弋阳县| 黄冈市| 个旧市| 昌黎县| 玛沁县| 修文县| 平武县| 桂平市| 象山县| 成安县| 阿坝县|