本文介绍了使flke8区分未定义的函数和星形导入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个相当大的项目,我试图在发布之前清理掉,但当我运行flke8时,我收到了大量

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

我可以通过替换以下行来避免此问题:

from generic_functions import *

在我的文件开头,但是:

  1. 我确实使用了其中的所有函数,所以我不明白为什么要超过80个字符的限制来输入每个函数:

     from generic_functions import (function1, function2, function3, function4, function5, function6, function7...)
    
  2. 执行上述操作将非常繁琐,尤其是当我需要在Generic_unctions.py

  3. 中添加或删除数十个函数时
另一种选择是禁用F405警告,但如果该函数确实未定义怎么办?如果在允许明星导入的同时仍能捕捉到任何未定义的内容,那就太好了。有什么办法可以做到这一点吗?我尝试将#noqa添加到导入行,但似乎无济于事。

推荐答案

您可以执行以下操作:

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

这篇关于使flke8区分未定义的函数和星形导入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-26 03:51