成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

我猜你需要這個Python調試工具

開發 后端
一般情況下,在編寫 Python 代碼時,如果想弄清楚為什么 Python 代碼沒有按照預期執行的原因,比如你想知道哪些是正在運行,哪些沒有運行,以及局部變量的值是什么。今天,猿妹和大家分享一個“貧民版”調試工具——PySnooper

 一般情況下,在編寫 Python 代碼時,如果想弄清楚為什么 Python 代碼沒有按照預期執行的原因,比如你想知道哪些是正在運行,哪些沒有運行,以及局部變量的值是什么...通常我們會使用包含斷點和觀察模式等功能成熟的調試器,或者直接使用 print 語句打印出來。

今天,猿妹和大家分享一個“貧民版”調試工具——PySnooper

PySnooper允許你執行以上相同的操作,只需為要調試的函數添加一個裝飾器即可,而不需要構建正確的 print 打印。你還將得到函數的詳細日志,包括運行了哪些代碼行、何時運行以及何時更改了局部變量。

PySnooper 使用起來十分簡單,開發者可以在任何龐大的代碼庫中使用它,而無需進行任何設置。你只需添加裝飾器,并為日志輸出地址指定路徑,方法是將其路徑指定為***個參數。

目前,PySnooper在GitHub上已經獲得 7047 個Star,371 個Fork(GitHub地址:https://github.com/cool-RR/PySnooper

示例

以下編寫了一個函數,通過返回一個二進制列表。我們只需要通過添加@pysnooper.snoop()裝飾器就可以了: 

  1. import pysnooper  
  2. @pysnooper.snoop()  
  3. def number_to_bits(number):  
  4.     if number:  
  5.         bits = []  
  6.         while number:  
  7.             number, remainder = divmod(number, 2)  
  8.             bits.insert(0, remainder)  
  9.         return bits  
  10.     else:  
  11.         return [0]  
  12. number_to_bits(6) 

輸出如下: 

  1. Starting var:.. number = 6  
  2. 15:29:11.327032 call         4 def number_to_bits(number):  
  3. 15:29:11.327032 line         5     if number:  
  4. 15:29:11.327032 line         6         bits = []  
  5. New var:....... bits = []  
  6. 15:29:11.327032 line         7         while number:  
  7. 15:29:11.327032 line         8             number, remainder = divmod(number, 2)  
  8. New var:....... remainder = 0  
  9. Modified var:.. number = 3  
  10. 15:29:11.327032 line         9             bits.insert(0, remainder)  
  11. Modified var:.. bits = [0]  
  12. 15:29:11.327032 line         7         while number:  
  13. 15:29:11.327032 line         8             number, remainder = divmod(number, 2)  
  14. Modified var:.. number = 1  
  15. Modified var:.. remainder = 1  
  16. 15:29:11.327032 line         9             bits.insert(0, remainder)  
  17. Modified var:.. bits = [1, 0]  
  18. 15:29:11.327032 line         7         while number:  
  19. 15:29:11.327032 line         8             number, remainder = divmod(number, 2)  
  20. Modified var:.. number = 0  
  21. 15:29:11.327032 line         9             bits.insert(0, remainder)  
  22. Modified var:.. bits = [1, 1, 0]  
  23. 15:29:11.327032 line         7         while number:  
  24. 15:29:11.327032 line        10         return bits  
  25. 15:29:11.327032 return      10         return bits  
  26. Return value:.. [1, 1, 0] 

特性

stderr,則可以將選擇輸出到指定文件: 

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

查看一些非局部變量的變量值: 

  1. @pysnooper.snoop(variables=('foo.bar', 'self.whatever')) 

顯示函數調用的函數的snoop行: 

  1. @pysnooper.snoop(depth=2 
責任編輯:龐桂玉 來源: Python編程
相關推薦

2024-01-24 13:22:40

Python調試工具技巧

2014-02-26 09:57:50

PHP調試工具

2021-10-20 11:12:49

工具代碼開發

2022-08-28 10:36:53

調試工具通用

2010-08-27 10:40:55

Android

2011-08-15 17:38:48

iPhone開發調試工具

2024-07-09 08:31:26

2023-03-29 08:18:16

Go調試工具

2016-12-02 20:23:51

AndroidADB

2025-03-31 03:25:00

2021-04-09 22:50:55

測試工具軟件

2012-02-24 09:25:20

JavaScript

2012-03-28 22:12:00

游戲

2012-03-26 15:08:22

我畫你猜

2022-03-15 09:58:12

單例模式系統

2022-08-21 14:05:54

調試工具CDP

2024-02-23 10:00:27

Linux工具

2010-06-02 15:21:29

Linux 網絡性能

2019-07-15 16:00:06

微軟開源TensorWatch

2018-11-27 11:35:32

systemtapMySQL調試工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品国产乱码麻豆白嫩 | 精品一区二区三区免费视频 | 日韩伦理电影免费在线观看 | 色婷婷亚洲 | 欧美精品久久久 | 欧产日产国产精品99 | 网站黄色在线 | 欧美精品乱码99久久影院 | 久热国产在线 | 国产一区二区三区 | 国产高清精品网站 | 999观看免费高清www | 午夜激情一区 | 欧美日韩国产综合在线 | 日韩性在线 | 国产精品久久免费观看 | 天堂一区二区三区 | 国产激情精品视频 | 亚洲视频免费 | 免费观看一级毛片 | 欧美性另类 | 一级毛片视频 | aaaaa毛片| 成人高清在线视频 | 欧美一级高清片 | 91精品久久久久久久久 | 久草欧美| 国产精品美女久久久久久不卡 | 国产成人高清成人av片在线看 | 久久精品国产99国产精品 | 国产成人精品网站 | 国产精品视频久久久久 | 亚洲综合一区二区三区 | 亚洲精品久久国产高清情趣图文 | 国产中文 | 国产精品久久久久久福利一牛影视 | 久久久www成人免费无遮挡大片 | 日韩中文字幕 | 日韩一区二区福利视频 | 91一区 | 亚洲精品一区二区三区蜜桃久 |