github專案位址 安裝
pip3 install pysnooper
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 =621
: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 =
0modified var:
.. number =321
: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 =
1modified var:
.. remainder =121
: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 =021
: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 bits21:
14:32.099769
return
10return bits
pysnooper特徵
如果標準錯誤輸出難以獲得,或者太長了,那麼可以將輸出定位到本地檔案:
@pysnooper.snoop(
'/my/log/file.log'
)
檢視一些非本地變數的值:
@pysnooper.snoop(variables=
('foo.bar'
,'self.whatever'
))
展示我們函式中呼叫函式的 snoop 行:
@pysnooper.snoop(depth=
2)
將所有 snoop 行以某個字首開始,更容易定位和找到:
@pysnooper.snoop(prefix=
'zzz '
)
更可以用來獲取tensorflow 的各種張量資訊,十分強大。媽媽再也不用擔心我找不到bug啦!
(2019.5.7更新:有時會不起作用,不知是自己姿勢不對還是其他原因。)
玩轉Linux 神級工具 sed awk
這裡是我在網上書上收集的相關資料,因為這兩個工具很有名也很重要,所以這些資料會幫助我更好的了解和熟悉它們。在 sed and awk 一書中 1.2 a stream editor 的解釋是 sed本質上是乙個編輯器,但是它是非互動式的,這點與vim不同 同時它又是面向字元流的,輸入的字元流經過se...
玩轉Linux 神級工具 sed awk
這裡是我在網上書上收集的相關資料,因為這兩個工具很有名也很重要,所以這些資料會幫助我更好的了解和熟悉它們。在 sed and awk 一書中 1.2 a stream editor 的解釋是 sed本質上是乙個編輯器,但是它是非互動式的,這點與vim不同 同時它又是面向字元流的,輸入的字元流經過se...
PHP 神盾解密工具
前兩天分析了神盾的解密過程所用到的知識點,昨晚我把工具整理了下,順便用神盾加密了。這都是昨天說好的,下面看下呼叫方法吧。然後解壓放到乙個資料夾裡,把你要解密的檔案也放進去。然後新建乙個 decode.php 寫 require decryption.php decryption code.php 執...