python有一个sys.path变量,和一个sys.modules变量。
分别用来表示模块的路径和名称。
也可以设置PATHONPATH环境变量。
也可以把模块的路径和名称写入.pth文件。
python根据以上信息引入使用到的模块。
具体规则是:
遍历所有的sys.path变量,把所有这些路径下的文件夹名和文件名作为找到的module,添加到sys.moudules中。
也就是说a目录下的b目录,但不包含b目录的子目录。
eg:
if not 'constant' in sys.modules:
constant=__import__('constant')
else:
constant=__import__('constant')
constant=eval('reload(constant)')
__import__('b'),exec('import b'),import_modules('b')都行