我正在阅读有关异常处理的教程,不得不在名为exception.py的模块中编写这段代码
def convert(s):
try:
x = int(s)
prnit("Conversion done. x=", x) #there is a typo
except ValueError:
print("Failed")
x = -1
return x
然后从REPL中将该函数导入为
from exception import convert
然后做
转换(7.7)
它按预期返回了NameError: name 'prnit' is not defined
。
之后,我纠正了错字并再次进行了from exception import convert
。但是错误仍然存在。为什么不导入新模块?
我必须先exit()
,然后再REPL并再次导入它,然后它才能正常工作并符合预期。
答案 0 :(得分:2)
导入缓存在Python中,您可以在official documentation中进行了解。
有多种方法可以使导入缓存无效,但强烈建议不要这样做。
答案 1 :(得分:1)
非常简单:模块已缓存,请参阅主题(5.3.1)上的Python documentation。