Python write to a file returns empty file
file-io, python, python-2.7
Solution
Python won't flush the file after each `write`. You'll either need to flush it manually using `flush`:
>>> f.flush()
or close it yourself with `close`:
>>> f.close()
When using files in a real program, it is recommended to use `with`:
with open('some file.txt', 'w') as f:
f.write('some text')
# ...
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.
Problem
I am trying to do simple commands to write "hello world" to a file: ``` 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.