我使用的是使用pyflakes的SublimePythonIDE。 有一些,我想它忽略像錯誤:如何讓pyflakes忽略一些錯誤?
(E501) line too long
(E101) indentation contains mixed spaces and tabs
什麼最簡單的方法來做到這一點?
我使用的是使用pyflakes的SublimePythonIDE。 有一些,我想它忽略像錯誤:如何讓pyflakes忽略一些錯誤?
(E501) line too long
(E101) indentation contains mixed spaces and tabs
什麼最簡單的方法來做到這一點?
配置在崇高插件幾乎總是使用相同的方法重複:請點擊Preferences -> Package Settings -> Plugin Name -> Settings-Default
打開(意外驚喜)默認設置。該文件通常包含插件的所有可能設置,通常包含解釋每個插件的註釋。此文件無法修改,因此要自定義您打開的任何設置Preferences -> Package Settings -> Plugin Name -> Settings-User
。我通常將默認設置的全部內容複製到用戶文件中,然後根據需要自定義,然後保存並關閉。
在這個特殊的插件的情況下,雖然它使用pyflakes
(如廣告),這也使得使用pep8
,一種風格檢查,使得使用非常相同的PEP-8官方的Python風格指南我在評論中提到的。這個知識是有用的,因爲pyflakes
不使用特定的錯誤代碼,而pep8
。
因此,通過檢查插件的設置文件,我們找到一個"pep8_ignore"
選項以及一個"pyflakes_ignore"
。由於error codes從pep8
到來,我們將使用該設置:
"pep8_ignore": [ "E501", // line too long
"E303", // too many blank lines (3)
"E402" // module level import not at top of file
]
請注意,代碼E121,E123,E126,E133,E226,E241,E242,E704和在默認情況下忽略,因爲它們不規則一致接受,PEP 8不執行。
關於排長:
有時候,排長隊是不可避免的。 79個字符的PEP-8的recommendation基於古老的歷史,終端監視器只有80個字符的屏幕,但由於以下幾個原因,它延續至今:與舊代碼向後兼容,某些設備仍在使用中這些限制看起來不錯,它使得在更寬的顯示器上更容易並排打開多個文件,並且它是可讀的(在編碼時應始終牢記在心)。如果您希望擁有90或100個字符的限制,那麼沒有問題(如果您的團隊/項目同意),但始終如此使用它,並且要注意其他人可能會使用不同的值。如果您想將pep8
設置爲比其默認值80更大的值,請修改"pep8_max_line_length"
設置。
有許多方法可以減少行的字符數保持在限制範圍內,或將長行分成多個較短的行。在您的例子在意見的情況:
flag, message = FacebookUserController.AddFBUserToDB(iOSUserId, fburl, fbsecret, code)
你可以做兩件事情:
# shorten the module/class name
fbuc = FacebookUserController
# or
import FacebookUserController as fbuc
flag, message = fbuc.AddFBUserToDB(iOSUserId, fburl, fbsecret, code)
# or eliminate it all together
from FacebookUserController import AddFBUserToDB
flag, message = AddFBUserToDB(iOSUserId, fburl, fbsecret, code)
# split the function's arguments onto separate lines
flag, message = FacebookUserController.AddFBUserToDB(iOSUserId,
fburl,
fbsecret,
code)
# There are multiple ways of doing this, just make sure the subsequent
# line(s) are indented. You don't need to escape newlines inside of
# braces, brackets, and parentheses, but you do need to outside of them.
正如其他人所建議的,可能注意警告。但在這些情況下,您不能將# NOQA
添加到最終的違規行中。請注意0之前的兩個空格,因爲這也是一種將被投訴的風格。
如果pyflakes包裹在flake8中,允許忽略特定的錯誤。
例如在項目投產或添加到tox.ini
文件:
[flake8]
exclude = .tox,./build
filename = *.py
ignore = E501,E101
最簡單的方法是避免這些錯誤。 – ZdaR
@ZdaR我喜歡很長的一行 – user3571278
不要**忽略'E101',因爲在嘗試運行代碼時幾乎肯定會遇到錯誤。 [PEP-8](https://www.python.org/dev/peps/pep-0008/#indentation)強烈建議使用4個空格。 – MattDMo