Why should I close file
<pre><code>from sys import argv
from os.path import exists

script, from_file, to_file = argv
print "Copying fro %s to %s" % (from_file, to_file)


in_file = open(from_file)
indata = in_file.read()

print "The input file is %d bytes long" % len(indata)

print "Does the output file exist? %r" % exists(to_file)
print "Ready, hit RETURN to countinue, CRL-C to abort."
raw_input("?")

out_file = open(to_file, 'w')
out_file.write(indata)

print "Alright, all done."

out_file.close()
in_file.close()
</code></pre>

<p>Is it necessary to write <code>out_file.close()</code> and <code>in_file.close()</code> ?</p>

<p>If I do not write these last two lines, still works. And what is the difference between to close both (<code>out_file</code>, and <code>in_file</code>)?</p>