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'
。
答案 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识别文件夹,但不适用于项目的实际初始化代码。