Python IOError的原因:[Errno 13]权限被拒绝

时间:2015-01-21 05:58:47

标签: python permission-denied ioerror

尝试编写文件时,如果符合以下任何条件,我可能会收到同样的错误:

  1. 该文件存在且标记为只读。

  2. 我没有该文件夹的写权限,因此无法创建 文件

  3. 该文件已在另一个进程中打开。

  4. 有没有办法将上述三个原因分开?如果没有,那我会 说这是一个非常糟糕的设计。

1 个答案:

答案 0 :(得分:0)

你的基本问题是Exception"你不能这样做"但是细节包含在异常实例中(或者在旧python中的字符串中),因此如果您将问题处理为:

try:
    outfile = open('somename.txt', 'w')
except IOError, e:
    print "Not allowed", e

您将获得更多信息。 (N.B.如果你正在运行python 3,你需要在上面的打印中添加括号。)

这实际上是非常好的设计 - 你的基本问题是存在问题 - 如果你愿意,你可以找到更多 - 并且你可以以一般的方式处理给定类别的问题。