Я уже некоторое время пишу свой код на 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)