10

ソースコードの規則をチェックするためにpylintを試しています。const-rgxどういうわけか、一部の変数名は、変数名の正規表現 ( ) ではなく、定数の正規表現 ( ) と一致しますvariable-rgx。変数名を と一致させる方法はvariable-rgx? const-rgxそれとも自分のもので拡張する必要がありvariable-rgxますか?

例えば
C0103: 31: Invalid name "settings" (should match (([A-Z_][A-Z1-9_]*)|(__.*__))$)

4

3 に答える 3

27

どういうわけか、いくつかの変数名は、変数名regex(variable-rgx)ではなく、定数のregex(const-rgx)と一致します。

それらの変数はモジュールレベルで宣言されていますか?たぶんそれがそれらが定数として扱われる理由です(少なくとも、PEP-8によれば、それはそれらが宣言されるべき方法です)。

于 2009-04-02T13:27:59.180 に答える
10

これらの命名規則に従っていないため、その警告を無効にします。

これを行うには、次の行をモジュールの先頭に追加します。

# pylint: disable-msg=C0103

それをグローバルに無効にする場合は、pylint コマンドに追加します。

python lint.py --disable-msg=C0103 ...
于 2009-04-02T12:29:00.027 に答える
0

(should match (([A-Z_][A-Z1-9_]*)|(__.*__))$)

あなたが言ったように、大文字の名前、または二重のアンダースコアで囲まれた名前にのみ一致する const-rgx です。

変数-rgx は

([a-z_][a-z0-9_]{2,30}$)

あなたの変数が実際に変数と一致するはずの「設定」と呼ばれる場合-rgx

これには 2 つの理由しか考えられません。設定が定数であるか、PyLint のバグです。

于 2009-04-02T13:18:58.237 に答える