PythonのデバッグアーティファクトPySnooper

私は私の同僚の試運転アーティファクトにこれをお勧めします、見て時間がない、私は今日見ました。

オリジナルリンク:

最も便利なPythonのデバッグツールの歴史|テンセント・テクノロジーは述べています

今でも2、バグの複雑なプロセスの状態や、あなたがこのライブラリのデバッグを使用することができます;、1ラインデバッグ優先順位によってラインの伝統的なデバッグツールを覆すしないように感じ、ちょうどより多くのログを追加してみましょう。次の、最高の使用を感じて体験私はそれを容易にしました。

しかし、私の同僚の観点から、彼の見解の発展をバック与える、
やや大型のpythonプロジェクト開発は進歩的だった場合にのみ、彼らは基本的にログサーバに依存しているが、クライアントは、デバッガをデバッグするために使用されます。デスクトップアプリケーションを書く、デバッガが簡単で、サービスは一般的なPYデバッガは、リモートデバッグモードにのみ依存することができ、特にマルチプロセスサービスでは、それほど単純ではありません。

複数の要求によって複雑にすると、各プロセスは異なるポートデバッガに掛け、非常に苦痛出会いタイミングの問題は、デバッガでも再現し、介入することは問題であり、

この方法に慣れてログインすると、ちょうど同じ診断機能を持って生まれた独自のプログラムを作成し、その後、デバッガバックと面倒に感じます。だから私はいつも我々が収集レポートをログ行うことを良いと感じました

スヌーパの利用状況分析、あなたはそれがデコレータが何であるか、彼はPythonのデコレータ構文を使用していることがわかりますか?

冒頭で定義された関数の中でそれを置き、それがこの関数の頭部に装着帽子のようなものです。そして、一緒にバインドする機能。私たちは、この関数を呼び出すと、まず最初に、この機能を実行することではなく、パラメータとしてこの関数は、彼の頭の上にそれを帽子を渡され、私たちは呼んで帽子装饰函数 や 装饰器。

インポートpysnooper 
@ pysnooper.snoop()
DEF number_to_bits(数):
    もし番号:
        ビット= [] 
        ながら番号:
            番号、余り= divmod(数2)
            bits.insert(0、余り)
        リターンビット
    他:
        戻り[0] 
number_to_bits(6)

 次の記事はかなり完全話します。

記事のデコレータは、すべての使用を知ってもらう(推奨コレクション)

1)内装トリム機能は、着信機能の特定のニーズをどのように処理するかを定義します。

#これは装飾的な機能である
:DEFロガー(FUNC)
    DEFラッパー(* argsを、**キロワット):
        印刷( '私は計算を開始する準備ができています:{}の機能:'。フォーマットは(FUNC .__ name__)) 
実際の実装はこれがありますライン。
        FUNC(* argsを、**キロワット)

        を印刷(「なるほど、私は計算のために行われています。自分で鶏を与える!!」)
    戻りwrappe

2)サービス機能の前にデコレータ機能をもたらすために:

@loggerは
DEF(x、y)を追加:
    プリント( '{} + {} = {}'形式(X、Y、X + Y))を

3)コール

(200、50)を追加

4)出力:

私は計算を開始する準備ができています:機能を追加します:
 200 + 50 = 250 
なるほど、私は計算のために行われています。自分で鶏を与えます!

 

おすすめ

転載: www.cnblogs.com/khacker/p/10992546.html