应该是在idle下运行的吧? 无法print是因为idle的stdout并非是默认的stdout,所以reload(sys)之后就所有到stdout的输出就看不到了,可以考虑如下的代码在reload(sys)之后再把stdout换回去
import sys
stdout = sys.stdout
reload(sys)
sys.stdout = stdout
同样的,还要对stdin, stderr做一样的处理
完整测试代码过程为
>>> print "dddd"
dddd
>>> import sys
>>> stdout = sys.stdout
>>> stdin = sys.stdin
>>> stderr = sys.stderr
>>> reload(sys)
>>> print "dddd"
>>> sys.stdout = stdout
>>> sys.stdin = stdin
>>> sys.stderr = stderr
>>> print "dddd"
dddd