Python中的导入语句混乱问题

2024-10-02 02:41:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望在一个通用的python文件中导入一些文件,然后在当前模块中需要导入的模块时包含该文件。如果使用from x import y,这当然会导致错误和重新导入,但是,当使用“normal”import语句时,我最终会得到长指令语句,例如:

x = importModule.directoryName1.directoryName2.moduleName.ClassName()

鉴于我想做的是:

^{pr2}$

但正如我之前所说,这样做:

from importModule.directoryName1.directoryName2.moduleNam import ClassName

在常规文件中不起作用,因为我在ClassName中包含importModule。在

<> P>所以,我基本上想知道这周围是否存在(像是一个使用语句,比如C++中的语句)?在


Tags: 模块文件fromimport错误指令语句normal
2条回答

听起来好像有递归导入(importModule指的是moduleName,而{}指的是{}。如果您重构,您应该能够使用

from importModule.directoryName1.directoryName2.moduleName import ClassName

要重构,可以更改在moduleName中导入内容的顺序,使ClassName的类定义出现在importModule导入之前;只要每个文件在尝试导入另一个模块之前定义了另一个模块所需的引用,事情就会解决。在

另一种重构方法:您可以始终在使用它的函数中导入ClassName;只要在导入moduleName之前没有调用该函数,就可以了。在

重构的最佳方法是将一些类或引用移动到它们自己的模块中,这样就不会出现A导入{}B导入{}。这将解决您的问题,并使维护工作更容易进行。在

好吧,你能做到的

from importModule.directoryName1.directoryName2 import moduleName as importModule

但这有点难看,而且非常令人困惑,而且不会给稍后阅读代码的Python程序员带来太多的分数。在

相关问题 更多 >

    热门问题