当我在只有一行的文件上运行flake8时:def O(): pass
我得到了以下错误,尽管函数运行正常:
/tmp/a.py:1:5: E743 ambiguous function definition 'O'
为什么flake8失败了?为什么我不只是收到警告?
答案 0 :(得分:4)
请勿定义名为' l',' o'或' i' (E743)强>
名为I
,O
和l
的函数可能非常难以阅读。这是因为字母I
和 字母l
很容易混淆,字母O
和数字0
很容易混淆。将这些功能的名称更改为更具描述性的名称。
其他链接
- https://www.python.org/dev/peps/pep-0008/#names-to-avoid
答案 1 :(得分:2)
flake8是一个实用程序,用于在Python项目中强制执行pep8样式的一致性,并根据pep8函数命名约定:函数名称应为小写,并在必要时用下划线分隔,以提高可读性。
如果你想让flake8忽略这个特定错误(这是违反linting目的的话),可以将它添加到你的setup.cfg
文件中:
[flake8]
ignore = E743
或使用以下选项运行它:flake8 --ignore=E743
但是,如果您只是希望flake8没有失败并且只是显示警告,则必须使用--exit-zero
运行它:
flake8 --exit-zero