Python中的巫术代码
我在看Zed Shaw的《艰难的Python学习》时,第15章有个地方让我想了很多。在额外的练习中,他让我们删除代码的后半部分(也就是在print txt.read()之后的所有内容),然后执行它,但解释器的表现就像什么都没发生一样。没错,我保存了文件,当我通过添加打印语句来修改它时,变化确实显示出来了,但同样的“魔法”代码还是被执行了。为什么会这样呢?
这里到底发生了什么呢?
from sys import argv
script, filename = argv
txt = open(filename)
print "Here's your file %r:" % filename
print txt.read()
print "I'll also ask you to type it again:"
file_again = raw_input("> ")
txt_again = open(file_again)
print txt_again.read()
1 个回答
1
你可能在运行一个和你正在编辑的文件不一样的文件。