格雷格的答案是正确的,但还远远不够。
OSError具有次错误条件,并且您不想每次都抑制它们。谨慎捕获 预期的 *** 作系统错误是明智的。
在决定抑制该异常之前,请进行其他检查,如下所示:
import errnoimport ostry: os.mkdir(dirname)except OSError as exc: if exc.errno != errno.EEXIST: raise pass
您可能不想抑制
errno.EACCES(权限被拒绝),
errno.ENOSPC(设备上没有剩余空间),
errno.EROFS
(只读文件系统)等。或者也许您确实想要-但这需要根据特定情况做出有意识的决定。您正在构建的逻辑。
Greg的代码抑制了所有 *** 作系统错误;就像
except Exception不安全一样,这是不安全的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)