关于项目结构的绝对和相对进口

时间:2018-12-13 00:21:16

标签: python python-3.x import path project-structure

我很难理解Python 3.x中导入的工作方式。假设我有一个这样的项目结构

test
../foo
....foo1.py
....foo2.py
../bar
....bar1.py

我的理解是,foobar可以被视为包,.py文件可以被视为模块。

我想在foo1(这是主脚本)中导入bar1foo2。怎样才能以绝对和相对方式做到这一点?

如果我想在此之后执行foo2,这是否是一个不好的项目结构(也许foo2应该放在其他地方,但我不想将其放在根目录下)?

1 个答案:

答案 0 :(得分:0)

尝试一下:

import importlib

name = input('Enter module name:')
importlib.import_module(name)

如果您想了解有关importlib的更多信息,请选中https://docs.python.org/3/library/importlib.html#module-importlib