pylint错误地将常量名称标识为C0103不符合const-rgx表达式

问题描述 投票:0回答:1

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

原则上,常量被命名为main,它应该与正则表达式[a-z\_][a-z0-9\_]{2,30}$匹配,但无论如何我得到了约定违规消息。我尝试将常量更改为run_main而没有任何变化。我甚至尝试将正则表达式转换为[\_][a-z0-9\_]{2,30}$|[a-z][\_][a-z0-9\_]{2,30}$but会议违规持续存在。我已经尝试在几个正则表达式测试网站上测试表达式,以确保我没有错。它是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)
regex python-3.x pylint pylintrc
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.