Pylint неправильно идентифицирует имя константы как C0103, не соответствующее выражению const-rgx - PullRequest
0 голосов
/ 07 мая 2018

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

0 голосов
/ 05 июня 2018

Pylint хочет, чтобы любая переменная, назначенная во внешней области видимости, была заглавной. Называя это ГЛАВНОЕ должно удалить предупреждение.

...