导入具有可变路径的模块?

时间:2011-07-02 21:17:17

标签: python

我有开发和生产系统。

我的生产系统与我的开发系统的不同之处在于它将一个目录添加到起始路径。

例如。在开发系统上:

main-> module1->模块2

开始生产:

project_name-> main-> module1->模块2

因此我必须更改所有导入以适应此更改。

我想在主文件夹中创建设置文件并将其包含在每个文件中并调用exec(“import%s.modulexxx”%path)。

但问题是如何访问设置文件(因为我还需要知道我的目录路径)。

有没有办法在下面包含一些文件,例如。 :

如果是main-> module1-> module2,在module2中我可以包含../../settings.py 因此,如果它更改为project_name-> main-> module1-> module2,它仍然可以工作,因为它仍然是2级以下。

任何帮助?

1 个答案:

答案 0 :(得分:4)

为什么不修改sys.path以包含一级目录?然后相同的导入将在两个地方都有效。