Python using open (w+) FileNotFoundError [duplicate]

You are getting the error because the directory – E:/phoneTracks/TA92903URN7ff/ does not exist.

Example to show this error –

In [57]: open('blah/abcd.txt','w+')
---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-57-46a07d4a5d18> in <module>()
----> 1 open('blah/abcd.txt','w+')

FileNotFoundError: [Errno 2] No such file or directory: 'blah/abcd.txt'

Got error in my code, because the directory blah/ does not exist.

If the directory – TA92903URN7ff/ is constant, try creating it and then running. If its not constant, you can checkout os.path.exists to check if the directory exists or not, and if it doesn’t exist, create one using os.mkdir .

Example –

import os, os.path
def save_txt_individual_tracks(track,folder,i):
    if not os.path.exists(folder):
         os.mkdir(folder)
    elif not os.path.isdir(folder):
         return #you may want to throw some error or so.
    f = open(os.path.join(folder, str(i)+'.txt'),'w+')
        for line in track:
            l=str(line[0])+','+str(line[1])+','+str(line[2])+'\n'
        f.write(l)
    f.close()

Also, you should consider using os.path.join to join paths, instead of using string concatenation. And also using with statement for openning files as – with open(os.path.join(folder, str(i)+'.txt'),'w+') as f: , that way the file will automatically get closed once the with block ends.

Leave a Comment