如何部分禁用/忽略pylint规则?
我有很多脚本是在 if __name__ == '__main__'
这个块里解析命令行参数的。在这里,我用的是一些“正常”的变量名,比如 parser
。因为这些变量不在任何函数里,pylint 就会报错 C0103: invalid constant name <variable>
。但实际上我并不是把这些变量当成常量来用(只是用来解析参数),所以用全大写的名字我觉得有点奇怪。
有没有办法部分禁用 pylint 的规则,这样在 if __name__ == '__main__'
这个块里就不会报 C0103 的错误呢?
我想要的效果是这样的:
import argparse
PI = 3.14 # <--- should give no C0103
e = 2.71 # <-- should throw C0103
if __name__ == '__main__':
parser = argparse.ArgumentParser() # <-- should give NO C0103
PARSER = argparse.ArgumentParser() # <-- should optionally give C0103 (wrong variable name)
非常感谢 :-)。
1 个回答
5
这可以通过在main方法周围加上pylint的注释来实现。
import argparse
# pylint: disable=C0103
PI = 3.14 # <--- should give no C0103
# pylint: enable=C0103
e = 2.71 # <-- should throw C0103
# pylint: disable=C0103
if __name__ == '__main__':
parser = argparse.ArgumentParser() # <-- should give NO C0103
PARSER = argparse.ArgumentParser()
# pylint: enable=C0103