I am following a tutorial to learn to read and write to a file. I am getting the following error. I do not understand why.
C:\Python27\python.exe "C:/Automation/Python/Write to files/test3.py"
Traceback (most recent call last):
File "C:/Automation/Python/Write to files/test3.py", line 8, in <module>
f.read('newfile.txt', 'r')
ValueError: I/O operation on closed file
My code is
f = open("newfile.txt", "w")
f.write("hello world\n")
f.write("Another line\n")
f.close()
f.read('newfile.txt', 'r')
print f.read()
I have tried to put f.close
at the bottom of the code but I still get the same error.
The write part works if I comment out the f.read
. It is failing on the f.read
part.
The line after f.close()
that is f.read('newfile.txt', 'r')
should be f = open('newfile.txt', 'r')
.
That is
f = open('newfile.txt', 'r')
print f.read()
f.close()
After which you need to add f.close()
again.
Small Note
As in Python, the default value for 2nd arg of open
is r
, you can simple do open('newfile.txt')
You can't perform I/O operation on file_obj after closing it i.e.
file_obj.close()
So if you want to open the same file do:
if(file_obj.closed):
file_obj = open(file_obj.name, file_obj.mode)
print (file.obj.read())
file_obj.close()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With