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 хочет, чтобы любая переменная, назначенная во внешней области видимости, была заглавной. Называя его ГЛАВНЫМ, следует удалить предупреждение.

Другие вопросы по тегам