模块化python代码

时间:2013-12-27 07:38:43

标签: python

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

from config import *
from helpers import *
from modules import * 

在我的配置文件中我写了

import threading as th

然后在模块中我扩展了一个线程类

class A(th.Thread):
...

我收到一个未定义的错误。当我在我的模块类中导入配置时,它工作正常。我对这里的进口工作方式没有清晰的了解。 另外,有没有最好的做法呢?

2 个答案:

答案 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