【问题标题】:python multiple imports for a common module一个公共模块的python多次导入
【发布时间】:2011-06-09 00:33:13
【问题描述】:

我正在做一个项目,我需要在不同的项目文件(.py 文件)中使用第三方模块。情况是这样的。

我有一个导入第三方模块“common.py”的文件“abc.py”。还有几个其他文件也导入“common.py”。所有这些文件也都导入到主项目文件“main.py”中。

在不同文件中多次导入项目中的同一个模块似乎是多余的,因为“main.py”也在导入所有项目文件。

我也不确定项目的大小如何受到多个导入语句的影响。

有人可以帮我把事情简化一点吗?

【问题讨论】:

    标签: python


    【解决方案1】:

    只导入一次加载一个模块。之后的任何导入都只需将其添加到当前命名空间。

    只需在需要它们可用的文件中导入内容,然后让 Python 完成加载模块的繁重工作。

    【讨论】:

      【解决方案2】:

      是的,你是对的,这种行为确实存在于 Python 中。即,如果用户代码尝试以不同的方式导入相同的模块,例如 - import aimport A.a(其中 a.py 文件位于 A 包中,第一个 import 是从 A 包内,而另一个import 来自外部)。

      这在现实生活中很容易发生,尤其是对于多级打包的 Python 项目。

      我经历过这种行为的副作用,即当针对以这种方式导入的模块中定义的类检查对象时,命令isinstance 不起作用。

      我能想到的解决方案是重新定义__builtin__. __ import__ 函数以更智能地执行其工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-08-04
        • 2023-04-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-23
        • 1970-01-01
        相关资源
        最近更新 更多