Reputation: 2330
So here's my problem. I have a python script that takes a zipfile and extracts its contents. Then based on some constraint, I will try to delete the folder whose contents were just extracted. For some reason I get an error, WindowsError: [Error 5] Access is denied: 'Foldername' when i try to delete that folder. The simple code looks like the following
wzip = zipfile.ZipFile('zipfile.zip')
wzip.extractall()
wzip.close()
os.remove('ExtractedFolder')
If I run this in the interpreter I get the following:
Traceback (most recent call last): File "", line 1, in WindowsError: [Error 5] Access is denied: 'ExtractedFolder'
I'm using Python 2.6 on Windows Vista 32-bit and I'm kinda baffled as to why this might be happening.
Upvotes: 1
Views: 2591
Reputation: 2476
I see a possible problem on Windows, which is that you could have an opened file in this directory. Make sure that you close explicitly all the files that you have opened using file.close()
(your sample code looks right, though).
Also, it might be useful to have a look at shutils.rmtree
: it can recursively remove directories, and capture errors.
Upvotes: 2
Reputation: 7026
Many reasons possible.
os.rmdir
to remove directoriesrmdir
needs a /S
option to
remove the contents, and Python probably uses that.Upvotes: 4