我正在使用Python 2.7。我有以下目录结构:在Python中访问不同目录中的文件和模块
alogos
- resources
- __init__.py
- test.py
- lib
- __init__.py
- utils.py
- common
- config
- config.json
我utils.py如下:
def read_json_data(filename):
with open(filename) as data:
json_data=json.load(data)
return json_data
我test.py
有以下几点:
from lib.utils import read_json_data
running_data = read_json_data('common/config/config.json')
print running_data
,当我尝试运行从python test.py
resources
目录,出现以下错误:
ImportError: No module named lib.utils
什么是访问文件和模块
您是否尝试过running_data = read_json_data('../ common/config/config.json') – tfv
模块中一个目录中的文件永远无法访问另一个同级目录中的文件。你可能要考虑将'test'从'alogos'完全移出,并将'test.py'放在与'alogos /'相同的文件夹中。这应该可以解决你的问题。 –
@tfv:像这样的硬编码不是正确的解决方案。如果OP想要部署到文件路径由\分隔的Windows环境(而不是/),那该怎么办? –