Python模块重载的一个问题(删除代码仍有效)
情况描述:(python2.7)A.py中import Just.py,在A.py运行期间
1、修改Just.py中的方法cli_xx(),然后A.py中调用reload()重新载入,修改的方法立即生效
2、Just.py中新增一个方法,然后A.py中调用reload()重新载入,新增的方法立即生效
问题出现了!!
3、Just.py中删除方法cli_xx(),然后A.py中调用reload()重新载入,被删除的方法仍然可用
为什么?怎么办?大家一起讨论下呢?
A.py 代码:
程序代码:
#/usr/bin/python2.7 #A.py import Just Just.cli_xx() a = input('Put in:') print 'a:',a reload(Just) Just.cli_xx()
Just.py 代码:
程序代码:
#/usr/bin/python2.7 #Just.py def cli_xx(): print "I'm xx"
先运行A.py 待提示输入时先修改Just.py,然后随意输入,查看结果