模块导入与重载——导入与重载基础——注意
版本差异说明:Python 3.X 将 reload
内置函数移动到 imp
标准库模块。它仍然像以前那样重载文件,但为了使用它必须先导入它。在 3.X 中, 运行 import imp
然后使用 imp.reload(M)
或运行如同这里显示的 from imp import reload
然后使用 reload(M)
。下一节将讨论 import
和 from
语句,然后在本书后面会更正式地讨论。
如果正在使用 Python 2.X, reload
是作为内置函数可用的,所以不需要导入。在Python 2.6 和2.7 中, reload
则是两种形式都可用——内置和模块函数——这是为了帮助过渡到 3.X。换句话说,在3.X中重载仍是可用的,但需要一行额外的代码来获取 reload
调用。
3.X中的(将reload
)移动(到imp
)的部分原因很可能是一些著名的涉及reload
和 from
语句的问题,这些问题将在下一章遇到。简而言之,用 from
加载的名称不会直接被一次 reload
更新,但用 import
语句访问的名称却会被更新。如果在reload
后,名称看起来没有变化,尝试更换为 import
和 module.attribute
名称引用。
推荐文章: