模块化python代码

模块化python代码,python,Python,我有大约2000行python脚本代码。我决定清理代码并移动helpers.py文件中的所有helpers以及config.py文件中的所有配置和导入 这里是我的主要文件: from config import * from helpers import * from modules import * 在我的配置文件中,我写了 import threading as th 然后在模块中,我扩展了一个线程类 class A(th.Thread): ... 我得到一个未定义的错误。当我在我的

我有大约2000行python脚本代码。我决定清理代码并移动helpers.py文件中的所有helpers以及config.py文件中的所有配置和导入 这里是我的主要文件:

from config import *
from helpers import *
from modules import * 
在我的配置文件中,我写了

import threading as th
然后在模块中,我扩展了一个线程类

class A(th.Thread):
...
我得到一个未定义的错误。当我在我的模块类中导入配置时,它工作正常。我不清楚导入在这里是如何工作的。
还有,有什么最佳实践可以做到这一点吗?

阅读
将线程导入为th
作为
th=\uuuuu导入(“线程”)
:这是一项首要任务。因此,必须在使用变量的每个文件中进行导入


PS:
import*
是最好避免的。

阅读
将线程导入为th
作为
th=\uuuuu导入(“线程”)
:这是一项首要任务。因此,必须在使用变量的每个文件中进行导入


PS:
import*
是最好避免的。

Python的
来自模块import*
与您在PHP等其他语言中可能看到的require/include不同


星形导入的工作方式是首先执行/加载模块,然后将模块的名称空间合并到当前名称空间。这意味着
模块
必须导入其自身的依赖项。您可以通过在
模块
中添加
从config import*
,或者更好地将
导入线程作为
模块
中的th

Python的
从模块导入*
与您在PHP等其他语言中可能看到的require/include不同

星形导入的工作方式是首先执行/加载模块,然后将模块的名称空间合并到当前名称空间。这意味着
模块
必须导入其自身的依赖项。您可以通过在
模块
中从配置导入*添加
,或者更好地在
模块
中执行
导入线程