假设我有密码
def foo():
bar = 1
wibble = 3
return locals()
我当前的语法检查器(flake8 withsyntastic.vim公司)将在两个变量上引发“assigned to but never used”错误。然而,locals()意味着它们实际上正在被使用,如果不是显式的话。在
^{pr2}$是否有任何python检查器或自定义设置可以识别locals()并具有灵活性?在
编辑:
这是vim/syntastic/flake8的一个快速而肮脏的解决方案,它将抑制.vimrc中的警告
"Ignore unused variable warnings whenever locals() is being used in a file
function! LocalsWarningSuppress()
if ( search("locals()",'nw') > 0)
let g:syntastic_python_checker='flake8 --ignore=W806'
else
let g:syntastic_python_checker='flake8'
endif
endfunction
au BufWritePre **/(filter_pattern)*py call LocalsWarningSuppress()
不,即使是我所知道的最强大、最挑剔的Python linter,^{} 也不够聪明,无法检测到这种情况。但如果是这样,它可能会抱怨您首先使用的是
locals()
。:)另一方面,与pyflakes不同,pylint支持magic comments来忽略特定问题。但是我必须警告你,pylint是一个非常挑剔(因此速度很慢)的开箱即用的方法,所以你需要花上几分钟的时间把它的list of checks削减到你真正关心的事情上。在
在字符串格式化的特定情况下,有一个ticket closed as wontfix来改进这种行为。看来pylint开发人员不想把它作为一个特性来实现。在
相关问题 更多 >
编程相关推荐