Python Code-Konvention Pylint mit
-
22-08-2019 - |
Frage
Ich versuche Pylint aus meinem Quellcode für Konventionen zu überprüfen. Irgendwie einige Variablennamen werden mit dem regulären Ausdruck für Konstanten (const-rgx
) anstelle der Variablennamen regex (variable-rgx
) abgestimmt. Wie die Variablennamen mit variable-rgx
Übereinstimmen? Oder soll ich const-rgx
mit meiner variable-rgx
Sache erweitern?
z.
C0103: 31: Invalid name "settings" (should match (([A-Z_][A-Z1-9_]*)|(__.*__))$)
Lösung
Irgendwie einige Variablennamen werden mit dem regulären Ausdruck angepasst für Konstanten (const-rgx) anstelle des Variablennamen regex (variabler rgx).
Sind diese Variablen auf Modulebene deklariert? Vielleicht ist es das, warum sie als Konstanten behandelt werden (zumindest das ist, wie sollten sie deklariert werden, nach PEP-8).
Andere Tipps
ich deaktivieren nur diese Warnung, weil ich diese Namenskonventionen nicht folgen.
Um das zu tun, fügen Sie diese Zeile nach oben von Ihnen Modul:
# pylint: disable-msg=C0103
Wenn Sie, dass global deaktivieren wollen, dann fügen Sie es den Pylint Befehl:
python lint.py --disable-msg=C0103 ...
(should match (([A-Z_][A-Z1-9_]*)|(__.*__))$)
wie Sie gesagt, ist die const-rgx, die nur Großbuchstaben Namen übereinstimmt, oder Namen von doppelten Unterstrichen umgeben ist.
der Variablen-rgx ist
([a-z_][a-z0-9_]{2,30}$)
Wenn Ihre Variable aufgerufen wird, ‚Einstellungen‘, die in der Tat die übereinstimmen sollten Variablen-rgx
ich mir vorstellen kann nur zwei Gründe dafür .. entweder Einstellungen ist ein Konstante oder es ist ein Fehler in PyLint.