成人免费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

2012-02-24 09:25:20

JavaScript

2025-07-03 02:00:00

2021-04-09 22:50:55

測試工具軟件

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 網絡性能

2020-05-21 15:53:59

遠程調試工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本成人久久 | 91亚洲精品久久久电影 | 天天亚洲 | 羞羞的视频在线观看 | 欧美视频网 | 欧美一级片中文字幕 | 久久国产精品一区二区三区 | 91一区二区 | 一级黄色片网址 | 国产精品久久久久久久免费观看 | 97精品久久| 午夜精品福利视频 | 不卡一二三区 | 成人免费视屏 | 成人av免费在线观看 | 伊人色综合久久久天天蜜桃 | 四虎午夜剧场 | 精品免费在线 | 精品久久中文字幕 | 日韩在线国产 | 国产亚洲精品久久久优势 | 日韩高清中文字幕 | 在线免费观看视频你懂的 | 91久久精品| 国产高清一区二区 | 精品国产伦一区二区三区观看方式 | 狠狠做六月爱婷婷综合aⅴ 国产精品视频网 | www.黄网 | 亚洲精品久久久久久久久久久久久 | 日韩中文字幕免费在线 | 欧美成年人视频在线观看 | 黄网站免费在线观看 | 国产视频一区在线观看 | 激情五月激情综合网 | 国精品一区二区 | 精品久久久久久久 | 激情av在线 | 天天干视频| 全免一级毛片 | 欧区一欧区二欧区三免费 | 日韩中文字幕在线视频观看 |