主頁 > 知識庫 > GitHub 熱門:別再用 print 輸出來調(diào)試代碼了

GitHub 熱門:別再用 print 輸出來調(diào)試代碼了

熱門標簽:無錫電銷機器人銷售 招聘信息 去哪里辦卡 地圖標注審核工作怎么樣注冊 地圖標注植物名稱 南召400電話辦理資費 揭陽外呼系統(tǒng)公司 鄭州中國移動400電話申請 熱血傳奇沃瑪森林地圖標注 福建ai電銷機器人加盟公司

4 月 23 日,GitHub 每日趨勢榜第一位是一個 Python ,相關(guān)項目:PySnooper。

該項目很快獲取 2200 Star。

PySnooper 是個什么東西?

如果你寫的 Python 代碼不能按如期那樣運行,你會絞盡腦汁想為啥出錯了。雖然你希望有支持斷點的成熟調(diào)試器,但或許你現(xiàn)在不想去設(shè)置這樣的調(diào)試器。

你想知道哪些行代碼是正常運行,哪些行不正常。據(jù)說大多數(shù)人會在可疑位置使用 print 輸出語句。

其實 PySnooper 的作用有點類似,你不用小心謹慎地用 print 輸出語句,只需在想調(diào)試的函數(shù)中引入一個裝飾器。然后得到函數(shù)的詳細日志,包括運行了哪些行、何時運行,以及何時更改了局部變量。

為什么 PySnooper 能從其他智能調(diào)試工具中脫穎而出?

因為你可以在不需要進行任何設(shè)置的情況下將其用于糟糕的、龐大的企業(yè)代碼庫中。只需打開裝飾器(如下示例所示),并將輸出重定向到一個專用的日志文件,將日志文件路徑指定為第一個參數(shù)。

使用范例

范例是一個把數(shù)字轉(zhuǎn)成二進制的函數(shù)。

import pysnooper
@pysnooper.snoop()
def number_to_bits(number):
  if number:
    bits = []
    while number:
      number, remainder = divmod(number, 2)
      bits.insert(0, remainder)
    return bits
  else:
    return [0]
number_to_bits(6)

輸出范例

Starting var:.. number = 6
21:14:32.099769 call     3 @pysnooper.snoop()
21:14:32.099769 line     5   if number:
21:14:32.099769 line     6     bits = []
New var:....... bits = []
21:14:32.099769 line     7     while number:
21:14:32.099769 line     8       number, remainder = divmod(number, 2)
New var:....... remainder = 0
Modified var:.. number = 3
21:14:32.099769 line     9       bits.insert(0, remainder)
Modified var:.. bits = [0]
21:14:32.099769 line     7     while number:
21:14:32.099769 line     8       number, remainder = divmod(number, 2)
Modified var:.. number = 1
Modified var:.. remainder = 1
21:14:32.099769 line     9       bits.insert(0, remainder)
Modified var:.. bits = [1, 0]
21:14:32.099769 line     7     while number:
21:14:32.099769 line     8       number, remainder = divmod(number, 2)
Modified var:.. number = 0
21:14:32.099769 line     9       bits.insert(0, remainder)
Modified var:.. bits = [1, 1, 0]
21:14:32.099769 line     7     while number:
21:14:32.099769 line    10     return bits
21:14:32.099769 return   10     return bits

有興趣的童鞋,請收藏:

https://github.com/cool-RR/PySnooper

好了,本文就給大家介紹到這里,希望對大家有所幫助!

您可能感興趣的文章:
  • python調(diào)試神器PySnooper的使用
  • 詳解DeBug Python神級工具PySnooper
  • PHP 中 var_export、print_r、var_dump 調(diào)試中的區(qū)別
  • php 調(diào)試利器debug_print_backtrace()
  • 關(guān)于PySnooper 永遠不要使用print進行調(diào)試的問題

標簽:黔南 桂林 景德鎮(zhèn) 鹽城 文山 東莞 南昌 宣城

巨人網(wǎng)絡(luò)通訊聲明:本文標題《GitHub 熱門:別再用 print 輸出來調(diào)試代碼了》,本文關(guān)鍵詞  GitHub,熱門,別,再用,print,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《GitHub 熱門:別再用 print 輸出來調(diào)試代碼了》相關(guān)的同類信息!
  • 本頁收集關(guān)于GitHub 熱門:別再用 print 輸出來調(diào)試代碼了的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章