我在python脚本中有大约2000行代码。我决定清理代码并将所有帮助程序移动到helpers.py文件中以及config.py文件中的所有配置和导入 这是我的主要文件:
from config import *
from helpers import *
from modules import *
在我的配置文件中我写了
import threading as th
然后在模块中我扩展了一个线程类
class A(th.Thread):
...
我收到一个未定义的错误。当我在我的模块类中导入配置时,它工作正常。我对这里的进口工作方式没有清晰的了解。 另外,有没有最好的做法呢?
答案 0 :(得分:4)
将import threading as th
视为th = __import__("threading")
:这首先是作业。因此,您必须在中使用变量的每个文件中进行导入。
PS:import *
最好避免使用。
答案 1 :(得分:4)
Python的from module import *
与您在其他语言(如PHP)中看到的require / include不同。
星型导入首先执行/加载模块,然后将模块的命名空间合并到当前命名空间。这意味着module
必须自己导入自己的依赖项。您可以在from config import *
中添加module
,或者更好地在import threading as th
中添加module
。