问题
When attempting to write a file, I can get this same error when any of following conditions applies:
The file exists and is marked read-only.
I don't have write permission for the folder and therefore cannot create a file.
The file is already open in another process.
Is there any way to separate out the above three causes? If not, then I would say that this is an extraordinarily poor design.
回答1:
You get the same Exception
as your base problem is "You can't do this" but the details are contained in the exception instance, (or in a string on older pythons), so if you handle the problem as:
try:
outfile = open('somename.txt', 'w')
except IOError, e:
print "Not allowed", e
You will get a lot more information. (N.B. if you are running python 3 you will need to add brackets to the print above).
This is actually incredibly good design - your basic problem is that there is a problem - and you can find out more if you care to - and you can handle a given class of problem in a generalised manner.
来源:https://stackoverflow.com/questions/28060547/causes-of-python-ioerror-errno-13-permission-denied