从子文件夹导入模块,并将该子文件夹中的文件与模块一起使用

时间:2019-07-15 13:21:10

标签: python

示例项目:

conda activate your_env
conda install jupyter

main.py

|- main.py 
|- Module
    |- __init__.py
    |- worker.py
    |- worker_config.json

worker.py

from Module import worker
#do stuff ...

运行worker.py是自己的工作。从main.py导入worker.py基本上也可以。但是,当main.py导入worker.py时,由于路径已更改为main文件夹,因此无法访问worker_config.json文件。

导入模块时,是否有一种方法可以修复worker_config文件的路径,并且仍然确保直接执行worker.py时可以访问该文件?

2 个答案:

答案 0 :(得分:1)

类似的东西:

import json
import os

configfile_path = os.path.join(
        os.path.dirname(os.path.realpath(__file__)),
        "config.json"
)
json.load(open(configfile_path, "r"))

应该做到这一点

答案 1 :(得分:0)

您可以将代码更改为

import json
mySettings = json.load(open("../worker_config.json", "r"))
#more stuff ...