gpt4 book ai didi

python importlib 从错误的目录导入

转载 作者:太空宇宙 更新时间:2023-11-03 19:41:05 26 4
gpt4 key购买 nike

我正在尝试从不同的 python 文件 (*.py) 导入名为“tasks”的字典。

路径存储在我的数组directories['code']中。并非所有文件都包含这些任务指令之一。

问题是,一旦找到带有字典的文件,“foo”将被设置为该字典,但不会重置,即使下一个文件没有字典.

但是,一旦发现另一个包含新字典的文件,“foo”将再次正确分配。

我想知道这是否是因为 importlib 正在搜索整个树,而不仅仅是确切的路径?

当然,我该如何解决这个问题?

import importlib

for i in range(len(directories['code'])):

try:
foo = importlib.machinery.SourceFileLoader('file', directories['code'][i]).load_module().tasks

except:
foo = '0'
pass

print(foo)

最佳答案

你的代码是有效的,有一个地方出了问题 -- directories['code'][i], -- 所以尝试使用 i :

for i in ['test/__init__.py', 'test/__init__2.py']:
try:
foo = importlib.machinery.SourceFileLoader('file', i).load_module().__version__
except:
foo = 0
print(i, foo)

# test/__init__.py 1.0.0
# test/__init__2.py 0

关于python importlib 从错误的目录导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60418652/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com