67

私はbottle.pyのソースコードを読んでいます。これはWebフレームワークであり、Pythonコードは3000行以上しかありません。とてもクール。

私はこのようなコードを見つけました:

class ServerAdapter(object):
    quiet = False
    def __init__(self, host='127.0.0.1', port=8080, **config):
        self.options = config
        self.host = host
        self.port = int(port)

    def run(self, handler): # pragma: no cover
        pass
    ... 

どういう# pragma: no cover意味ですか?pragmaPythonのドキュメントに構文に関する紹介が見つかりません。

4

2 に答える 2

99

それは明らかにcoverage.pyに関連しています:

Coverage.pyは、Pythonプログラムのコードカバレッジを測定するためのツールです。プログラムを監視し、コードのどの部分が実行されたかを確認し、ソースを分析して、実行された可能性があるが実行されなかったコードを特定します。

これ# pragma: no coverは、コードの一部をツールで無視する必要があるというヒントです。コードをカバレッジから除外するを参照してください。

于 2012-08-16T18:04:45.750 に答える
17

Pythonの場合、これは単なるコメントです。これは、たとえばdoctestの#doctest: +ELLIPSISアノテーションやPyLintの# pylint: disable=W0613スタイルのアノテーションに似た、Pythonコードを読み取って分析する外部ツールを対象としたアノテーションである可能性があります。

于 2012-08-16T17:30:24.823 に答える