1

Python プロジェクトにインポートしたモジュールの 1 つが、Pychecker で多くの警告をトリガーします。この外部モジュールを修正することは実際にはオプションではないので、Pychecker にそれを無視するように指示したいと思います。

誰もこれを行う方法を知っていますか? それは可能であり、おそらく非常に簡単だと確信していますが、しばらくGoogleをトロールした後、ドキュメントや例は見つかりませんでした.

ありがとう、サム

編集:残念ながら「pychecker」でタグ付けすることはできません。そのタグはまだ存在せず、私の担当者は低すぎて作成できません。

編集 2おまけの追加の質問: pychecker はとにかく無視されたモジュールをチェックし、見つかったものは何も出力しませんか? または、いくつかのモジュールを無視することでスピードアップしますか?

4

3 に答える 3

1

別のオプションを見つけました。-bフラグを使用してブラックリストに登録できます。例えば

python pychecker.py -b list,of,modules,to,ignore

よくわかりませんが、インポートされたモジュールをチェックすると思いますが、警告は出力されません。少なくとも警告は消えましたが、-bフラグを使用した方が-を使用しない場合よりも速くは見えません:-)

于 2010-09-17T15:42:23.717 に答える
1

ドキュメントごとに、

モジュール/関数/クラス/メソッドの警告を抑制したい場合は、.pycheckrc で抑制辞書を定義できます。キーの例は、「module」、「module.function」、「module.class」、「module.class.method」などです。

IOW、あなたの.pycheckrc、問題のあるモジュールの名前がである場合、foobar

suppressions = {'foobar': '...'}

ここで、...手段、必要なすべての抑制オプション。pychecker -hすべてのオプションのリストを取得するために使用します。私は'limit=0'あなたが求めていることを行うと思います (そのモジュールに対して最大 0 個の警告を表示します、つまり、なし;-) が、もう少し選択的になりたい場合があります (結局のところ、これを一度だけ書く必要があるだけです)。.pycheckrcあなたが呼び出しているすべての場所ではありませんpychecker...これは pycheckrc アプローチの便利さです!)。

于 2010-09-17T15:17:21.020 に答える
1

ボーナスの追加の質問について:

  • pychecker は、渡されたファイルを常にインポートします。これにより、それらのインポートが何であれインポートされます。これはPythonと同じです。これは pychecker の最初のパスです。
  • 次に、pychecker は実際にロードされたモジュールを調べ、コードを逆アセンブルし、すべてのオペコードを実行します。これは 2 回目のパスです。
  • どちらの場合も、無視されたモジュールによって生成されたすべての警告を追跡します。次に、これらの警告を表示する前にフィルターで除外します。

ブラックリストに登録されたモジュールをまったく見ないように pychecker を変更する価値があるかどうか、または 1 つのファイルのみを逆アセンブルできるようにする価値があるかどうかを検討しています (たとえば、エディターでの統合のため)。

于 2011-01-24T13:20:45.173 に答える