如何在我的程序中实现控制功能,避免AttributeError:'module'对象没有属性

2024-04-26 18:29:55 发布

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

{我有一个问题

我正在进行一个相互的顶层导入,这导致了AttributeError:'module'对象没有属性错误,所以我不确定是否可以在函数中导入,因为我基本上是导入一个控制所有其他模块的文件。在

下面是一个示例(file2.py):

import file1
count = 0
while count < file1.number_of_loops:
 .....

我的函数是由控制变量触发的,所以我无法在函数本身中导入。除了创建一个单独的文件来控制,有没有一种方法可以引用另一个文件中的变量,而不进行相互的顶层导入?在


Tags: 模块文件对象函数pyimport示例属性
2条回答

我将建议不要从控制所有其他模块“的模块导入。

我的建议是将所有控制代码放在函数(或类)中,然后导入需要执行这些函数的函数和参数。

例如,^{cd1>}:

def loop_control(num_loops):
    count = 0
    while count < num_loops:
        # ...

另一个文件:

^{pr2}$

如果需要来回沟通这些控件的结果,您可以考虑为此构建一个管理器(以您喜欢的方式实现)。

正如一条评论所指出的,如果您使用file1.py来存储一些配置变量,那么最好看看处理该配置的其他方法。在

在我看来,解决问题的一个简单方法是将所有这些变量移动到另一个模块中,例如,settings.py,这样您就可以从那里获得配置,而不必使用任何相互导入。在

相关问题 更多 >