1、Python2中可以和Python3中关于reload()用法的区别。
Python2 中可以直接使用reload(module)重载模块。
Pyhton3中需要使用如下方式:
(1)
>>> from imp
>>> imp.reload(module)
(2)
>>> from imp import reload
>>> reload(module)
2、Python3中使用import和reload()出现错误的原因
假设recommendations.py 放在C:\Python34\PCI_Code\chapter2\目录下,其中包含函数critics
如果在import函数的时候出现如下错误,
>>> from recommendation import critics
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
from recommendation import critics
ImportError: No module named 'recommendation'
请把目录C:\Python34\PCI_Code\chapter2\加到系统路径中
>>> import sys
>>> sys.path.append("C:\Python34\PCI_Code\chapter2")
>>> from recommendations import critics
>>>
使用reload()时出现如下错误
>>> from imp import reload
>>> reload(recommendations)
Traceback (most recent call last):
File "<pyshell#86>", line 1, in <module>
reload(recommendations)
NameError: name 'recommendations' is not defined
原因是因为在import reload之后需要在import 需要加载的模块,这时候再去reload就不会有问题,具体看下面代码:
>>> from imp import reload
>>> import recommendations
>>> reload(recommendations)
<module 'recommendations' from 'C:\\Python34\\PCI_Code\\chapter2\\recommendations.py'>
>>>