A
andrea crotti
I wrote a script, refactored it and then introducing a bug as below:
def record_things():
out.write("Hello world")
if __name__ == '__main__':
with open('output', 'w') as out:
record_things()
but the shocking thing is that it didn't actually stopped working, it
still works perfectly!
What my explanation might be is that the "out" is declared at module
level somehow,
but that's not really intuitive and looks wrong, and works both on
Python 2.7 and 3.2..
def record_things():
out.write("Hello world")
if __name__ == '__main__':
with open('output', 'w') as out:
record_things()
but the shocking thing is that it didn't actually stopped working, it
still works perfectly!
What my explanation might be is that the "out" is declared at module
level somehow,
but that's not really intuitive and looks wrong, and works both on
Python 2.7 and 3.2..