I am trying to do simple commands to write hello world to a file:
50 complexity:test% python2.7
Python 2.7.3 (default, Feb 11 2013, 12:48:32)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> f=open("/export/home/vignesh/resres.txt","w")
>>> f.write("hello world")
>>> f.write("\t".join(["hello","world"]))
This returns an empty file.
Python won't flush the file after each
write
. You'll either need to flush it manually usingflush
:or close it yourself with
close
:When using files in a real program, it is recommended to use
with
:This ensures that the file will be closed, even if an exception is thrown. If you want to work in the REPL, though, you might want to stick with closing it manually, as it'll try to read the entirety of the
with
before trying to execute it.You need to close the file:
Also, I would recommend using the
with
keyword with opening files:It will automatically close them for you.