假设我有以下代码:
def incr(d, a)
r = {}
for key, value in d.items():
if key != a:
value += 1
r[key] = value
return r
def decr(d, a)
r = {}
for key, value in d.items():
if key == a:
value -= 1
r[key] = value
retur r
可以看出,它:
在两个定义中都没有出现,并且还包含retur
而不是return
最后一行。但是,如果我通过 pyflakes(类似pyflakes test.py
)运行它,它只会报告所有错误中的第一个:
$ pyflakes test.py
test.py:9:15: invalid syntax
def incr(d, a)
^
一旦我修复了第一个,它就会在第二次运行时移动到下一个:
$ pyflakes test.py
test.py:18:15: invalid syntax
def decr(d, a)
^
所以,我的问题是我是否遗漏了什么,或者是否可以一次显示所有可能的错误?
(事实上,我正在尝试使用 vim 的syntastic插件——但由于上述行为,syntastic 本身仅显示 vim 位置列表中的第一个错误......)
谢谢。