我是一个 python 初学者(几年的课程和实验的生活)返回一个个人项目。
我想从一个文件夹中导入所有内容,我希望我添加到文件夹中的所有代码都导入到我的主目录中。经过研究,我想出了这个尝试,放在主要:
from os.path import dirname, basename, isfile, join
import glob
import importlib
modules = glob.glob(join(dirname(__file__), "*.py"))
allMods = [ basename(f)[:-3] for f in modules if isfile(f) and not f.endswith('__init__.py') and not f.endswith("main.py")]
for i in range(0, len(allMods)):
importlib.import_module(allMods[i])
'allMods' 在一个数组中包含所有文件的名称 - ["a","b","etc"] - 这就是为什么我使用 for 循环遍历每个文件并尝试导入它们的原因 -示例: importlib.import_module("a") 此时没有错误,所以有些东西正在工作,但是当尝试访问 a.py、b.py 等时,它们根本没有定义(“未解析的引用”) .
在此之前,我在_ _ init _ _.py 尝试了从标准导入到野代码的所有内容,我什至到了谷歌的第二页。
这对于我目前的技能来说显然太先进了(反复试验是我学习得最好的方法)。那么,这个解决方案从一开始就是错误的,还是有什么可以挽救的?
谢谢。
EDIT_1:基本上,我希望能够动态导入我添加到文件夹中的所有内容,而不是对导入命令进行硬编码。