2014-07-10 51 views
1

我的許多腳本解析if __name__ == '__main__'塊中的命令行參數。我在那裏使用'普通'變量名,例如parser。由於這是不以任何功能,pylint的將拋出C0103: invalid constant name <variable>。由於我沒有真正使用這些變量爲常數(只是解析參數),我覺得這是一個有點怪在這裏使用的全大寫。如何部分禁用/忽略pylint規則?

有沒有辦法來部分禁用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) 

感謝:-)很多。

+0

寫'main'功能,那算什麼?不知道是否有更好的方法。 – user2357112

+0

這是繞過這個問題,而不是修復它。 – Gx1sptDTDa

回答

2

這應該可以通過用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 
+0

工作!謝謝! :-)。 – Gx1sptDTDa