Python IOError: File not open for reading

You opened the file for writing by specifying the mode as 'w'; open the file for reading instead:

open(path, 'r')

'r' is the default, so it can be omitted. If you need to both read and write, use the + mode:

open(path, 'w+')

w+ opens the file for writing (truncates it to 0 bytes) but also lets you read from it. If you use r+ it is also opened for both reading and writing, but won’t be truncated.

If you are to use a dual-mode such as r+ or w+, you need to familiarize yourself with the .seek() method too, as using both reading and writing operations will move the current position in the file and you’ll most likely want to move that current file position explicitly between such operations.

See the documentation of the open() function for further details.

Leave a Comment