使flake8区分未定义的函数和星形导入

SurpriseDog

我有一个相当大的项目,我试图在发布之前进行清理,但是当我运行flake8时,我得到了很多

'F405 <function> may be undefined, or defined from star imports: generic_functions`

我可以通过替换以下行来避免这种情况:

from generic_functions import *

在文件的开头,但是:

  1. 我实际上使用了其中的所有函数,所以我不明白超过80个字符的限制,输入每个单独的函数是多么的pythonic:

     from generic_functions import (function1, function2, function3, function4, function5, function6, function7...)
    
  2. 进行上述操作很繁琐,尤其是当我需要在generic_functions.py中的数十个函数中添加或删除时

另一个选择是禁用F405警告,但是如果该功能确实未定义怎么办?允许导入星星同时捕获任何未定义的东西将是很好的。有没有办法做到这一点?我尝试在导入行中添加#noqa,但似乎无济于事。

三亚什

您可以执行以下操作:

  1. 保留导入为 from generic_functions import *
  2. 运行flake8作为flake8 --ignore=F405 file.py我真的不知道为什么# noqa不起作用,但是起作用了--ignore
  3. 使用pylint测试其余可能的错误。Pylint能够确定<function>从定义和导入的generic_functions

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章