Pylint неправильно идентифицирует имя константы как C0103, не соответствующее выражению const-rgx
Некоторое время я перерисовываю свой код на Python, чтобы сделать его более Pythonian, и поэтому я использовал Pylint, чтобы помочь идентифицировать проблемные блоки кода. Однако теперь у меня возникает странная ошибка, когда pylint помечает правильно отформатированное имя константы как не соответствующее указанному регулярному выражению.
Первоначально, константа была названа main
, который должен соответствовать регулярному выражению [a-z\_][a-z0-9\_]{2,30}$
но я все равно получил сообщение о нарушении конвенции. Я пытался изменить константу на run_main
без каких-либо изменений. Я даже пытался изменить регулярное выражение [\_][a-z0-9\_]{2,30}$|[a-z][\_][a-z0-9\_]{2,30}$
но нарушение конвенции сохраняется. Я попытался проверить выражения на нескольких сайтах тестирования регулярных выражений, чтобы убедиться, что я не ошибся. Это ошибка в Pylint или я пропускаю что-то очевидное?
Константа определена в следующем блоке кода:
if __name__ == "__main__":
javabridge.start_vm(class_path=bf.JARS)
run_main = mainInterface()
и соответствующая часть моего файла pylintrc:
# Naming style matching correct constant names
#const-naming-style=
# Regular expression matching correct constant names. Overrides const-naming-
# style
const-rgx='[\_][a-z0-9\_]{2,30}$|[a-z][\_][a-z0-9\_]{2,30}$'
который дает следующий вывод:
393,4,convention,C0103:Constant name "run_main" doesn't conform to "'[\\_]
[a-z0-9\\_]{2,30}$|[a-z][\\_][a-z0-9\\_]{2,30}$'" pattern ("'[\\_][a-z0-
9\\_]{2,30}$|[a-z][\\_][a-z0-9\\_]{2,30}$'" pattern)
1 ответ
Pylint хочет, чтобы любая переменная, назначенная во внешней области видимости, была заглавной. Называя его ГЛАВНЫМ, следует удалить предупреждение.