0

一段时间以来,我一直在检查我的 Python 代码,以使其更符合 Python 风格,为此我一直在使用 pylint 来帮助识别有问题的代码块。但是,现在我遇到了一种奇怪的错误,其中 pylint 将格式正确的常量名称标记为不符合提供的正则表达式。

最初,常量是 named main,它应该与 regex 匹配[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)
4

1 回答 1

0

Pylint 希望在最外层范围内分配的任何变量都是大写的。将其称为 MAIN 应该删除警告。

于 2018-06-04T21:07:21.697 回答