小编Sur*_*Dog的帖子

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

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

'F405 <function> may be undefined, or defined from star imports: generic_functions`
Run Code Online (Sandbox Code Playgroud)

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

from generic_functions import *
Run Code Online (Sandbox Code Playgroud)

在我的文件的开头,但是:

  1. 我确实使用了其中的所有函数,所以我不明白如何超过输入每个函数的 80 个字符的限制更加 Pythonic:

     from generic_functions import (function1, function2, function3, function4, function5, function6, function7...)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 执行上述操作会很乏味,特别是如果我需要在 generic_functions.py 中的数十个函数中添加或删除

另一种选择是禁用 F405 警告,但如果该函数确实未定义怎么办?如果允许明星导入,同时仍然捕获任何未定义的内容,那就太好了。有没有办法做到这一点?我尝试将 # noqa 添加到导入行,但似乎没有帮助。

python pep8 python-import flake8

4
推荐指数
1
解决办法
3599
查看次数

标签 统计

flake8 ×1

pep8 ×1

python ×1

python-import ×1