我希望在一个通用的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++中的语句)?在
听起来好像有递归导入(}指的是{}。如果您重构,您应该能够使用
importModule
指的是moduleName
,而{要重构,可以更改在
moduleName
中导入内容的顺序,使ClassName
的类定义出现在importModule
导入之前;只要每个文件在尝试导入另一个模块之前定义了另一个模块所需的引用,事情就会解决。在另一种重构方法:您可以始终在使用它的函数中导入
ClassName
;只要在导入moduleName
之前没有调用该函数,就可以了。在重构的最佳方法是将一些类或引用移动到它们自己的模块中,这样就不会出现}和}。这将解决您的问题,并使维护工作更容易进行。在
A
导入{B
导入{好吧,你能做到的
但这有点难看,而且非常令人困惑,而且不会给稍后阅读代码的Python程序员带来太多的分数。在
相关问题 更多 >
编程相关推荐