【问题标题】:Import a secondary file in spyder IDE with star import with no warnings使用星号导入在 spyder IDE 中导入辅助文件,没有警告
【发布时间】:2019-04-19 10:03:59
【问题描述】:

由于主文件变得很长,我决定将我的代码分成两个文件,一个包含所有函数(这里称为common_functions.py),另一个包含类和方法,后者导入前者。问题是,我想使用

导入这些函数
from common_functions import *

因为我不需要内部函数的前缀,而且它们数量众多。此外,虽然不重要,但这让我不必在类文件中重复导入包。问题是,spyder没有识别导入文件的内部,导致如下所示到处都是警告,虽然代码执行正常。

所以我的问题是,有没有办法消除这些警告,或者通过解释 spyder 如何获取 common_functions.py 的包和功能,或者以不同的方式组织代码?

【问题讨论】:

    标签: python spyder


    【解决方案1】:

    Spyder 在后台使用pyflakes 在编辑器窗格中进行实时代码分析。 Pyflakes 没有解释通配符导入语句的能力(即它不会检索通配符导入实际导入的所有名称)。因此,您会收到有关未定义名称的警告消息。

    我建议在您的代码文件中完全避免通配符导入。尽管通配符导入是有效的 Python 代码,但在大多数情况下,它们被广泛认为是一种不好的做法(请参阅 herehere 以获得更详细的解释)。如果您将from common_functions import * 替换为例如import common_functions as cf,那么您必须使用的前缀的长度是最小的。

    【讨论】:

      猜你喜欢
      • 2018-03-29
      • 2017-04-04
      • 2023-03-10
      • 1970-01-01
      • 2018-12-08
      • 2021-02-20
      • 2019-09-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多