从不同目录

时间:2017-09-26 14:28:11

标签: python python-import configuration-files

dir1\
    __init__.py
    config.py

dir2\
    __init__.py
    module1.py

为了保护敏感的配置设置,我在文件config.py中说dir1。我有dir2,它有主要的Python文件。

我希望dir2中的所有模块都能够访问config.py。所以我想在__init__.py内的dir2内导入一次。

我该怎么做?我尝试将其放在__init__.py中的dir2内:

# __init__.py in dir2

import os
import sys

config_dir = os.path.join(os.environ['userprofile'],'Path','To','dir1')
sys.path.append(config_dir)

from dir1 import config

我把它放在module1.py

# module1.py
from config import USERS

但是当我运行module1时,我得到了:

ModuleNotFoundError: No module named 'config'

2 个答案:

答案 0 :(得分:0)

带有导入的目录需要bool sent = (bool) po.Invoke("DoSomething", new Object[] { id, name, location, ds, 500, 120 }); 文件,即使它是空的。这就是Python解释器可以识别它是一个模块,因此是可导入的。

答案 1 :(得分:0)

看看这个答案:

Importing files from different folder

我认为您已经找到了解决方案,您只需将dir2/__init__.py中放置的代码放在module1.py以及您要使用dir1文件的其他每个模块中。

据我了解,__init__.py文件仅供python识别文件夹,但不适用于项目的实际初始化代码。