python多次重复使用import语句时,不会重新加载被指定的模块, 只是把对该模块的内存地址给引用到本地变量环境。
方式1
关闭程序重新运行
1
方式2
使用reload()重新导入已导入的模块
1
# test.py
#
# a = 12
#
import test
print(test.a)
# 修改test.a=13 使用reload重导
reload(test)
print(test.a)
但要注意
在python2中,reload()是内置函数,能够直接使用。
但是在python3中,直接使用reload()会报错,需要从imp中导入。
用法为:
-
from imp import reload
-
reload(kNN)
AttributeError: module 'urllib' has no attribute 'urlopen'
原因是在Python3.X中应该用urllib.request.urlopen(...)。更改后就不会再出现这个错误了。