2017-07-27 68 views
2

我正在瀏覽我的RC文件,我無法爲我的生活尋找哪些變量禁用該功能。Pylint:在「返回」(無其他返回)警告後禁用不必要的「其他」警告

我搜索了「if」,「else」和「return」,我什麼也沒看到。除非我錯過了它。

謝謝。

更多信息

pylint 1.7.2, 
astroid 1.5.3 
Python 2.7.10 (default, Jul 30 2016, 18:31:42) 
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] 

我把什麼到終端

pylint --rcfile=.pylintrc Test.py 

測試代碼

""" Module Docstring """ 

def IS_POSITIVE(number): 
    """ detects positive """ 
    if number > 0: 
     return "+++" 
    else: 
     return "---" 


print IS_POSITIVE(3) 

打印出來

************* Module Test 
R: 27, 4: Unnecessary "else" after "return" (no-else-return) 

------------------------------------------------------------------ 
Your code has been rated at 8.00/10 (previous run: 8.00/10, +0.00) 
+0

一個選擇是聽取和刪除「else」子句,只是「return」---「'。有一個[問題](https://stackoverflow.com/questions/9191388/it-is-more-efficient-to-use-if-return-return-or-if-else-return)關於哪些是在Python中是首選,我不認爲有明確的答案,但似乎pylint在「沒有其他」方面權衡。 –

+0

是的,我知道,我已經採取了改變代碼來做到這一點,但它仍然讓我感到困惑。 Tams Hegedus通過指出,我應該簡單地添加「no-else-return = no」來關閉此選項,但它仍然無效。這讓我感到無法結束。 – Biclops

回答

3

你應該在你的rc文件做disable=no-else-return

+0

謝謝。當然,我應該搜索手冊以禁用。再次感謝你。 – Biclops

1

您正在尋找no-else-return (R1705)。只需添加這些到您的.pylintrc

[REFACTORING] 
no-else-return=no 
+1

不幸的是,沒有做到這一點。我在我的問題中添加了更多信息。我的RC文件位於我的工作目錄中,並且正在修改正則表達式,因爲它是允許的變量/函數/類名稱。我不知道這是否重要,但no-else-return變量不在默認的RC文件中。謝謝。 – Biclops

+0

@Biclops您還可以在'.pylintrc'的'[MESSAGES CONTROL]'中添加'disable = R1705'# –