标题:Python模块重载的一个问题(删除代码仍有效)
只看楼主
tuyajie21cn
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-6-23
 问题点数:0 回复次数:1 
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,然后随意输入,查看结果
搜索更多相关主题的帖子: 怎么办 import color 
2013-01-17 10:16
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8842
专家分:2567
注 册:2004-3-25
得分:0 
reload并不可靠,web框架开发环境都是用的reload,但有时候修改了代码需要重启server才能生效

畅所欲言
2013-01-17 14:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-396871-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.323092 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved