【发布时间】:2022-10-19 12:23:49
【问题描述】:
我正在处理包上的 python Institute 模块,但在尝试导入模块时出现错误,但仅在特定情况下。文件夹结构在随附的照片中可见。 :
C:\Users\Luke\py\packages
尝试运行以下代码时(导入特定模块并运行其中的函数):
from sys import path
path.append('..\\packages')
import extra.good.best.sigma
from extra.good.best.tau import FunT
print(extra.good.best.sigma.FunS())
print(FunT())
我收到错误消息:“KeyError:'extra'”
但是,在运行以下代码时,它可以正常工作:
from sys import path
path.append('..\\packages')
import extra.iota
print(extra.iota.FunI())
注意 - 各种模块本身完全相同,唯一的区别是它们返回自己的特定模块名称,例如 Iota 模块代码是:
def FunI():
return "Iota"
if __name__ == "__main__":
print("I prefer to be a module")
是否有人能够发现导致错误的差异或有调试建议?我对编码还是很陌生,所以任何帮助都将不胜感激。谢谢!
【问题讨论】:
-
哪条线提高了
KeyError: 'extra'?当尝试访问存储在没有该键的字典键中的值时,会引发此错误。尝试检测您要访问的字典是哪个字典,并且该字典没有键'extra'。 -
在控制台中,它提供了以下错误消息: * File "<frozen importlib._bootstrap_external>", line 1099, in _get_parent_path KeyError: 'extra' * - 我在这个站点上寻找过类似的错误消息,大多数人都报告了这个问题作为一个初始化目标文件夹中需要 .py 文件,但这似乎对我的工作没有帮助。我实际上也无法破译错误消息以找到有问题的字典,所以我有点难过