causes of Python IOError: [Errno 13] Permission denied

南笙酒味 提交于 2019-12-14 03:23:35

问题


When attempting to write a file, I can get this same error when any of following conditions applies:

  1. The file exists and is marked read-only.

  2. I don't have write permission for the folder and therefore cannot create a file.

  3. 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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!