python - 专门处理文件存在异常

cog*_*sum 19 python exception ioerror

我在这个论坛中遇到过一些例子,通过测试(或这些天?)中的errno值来处理文件和目录的特定错误.例如,这里的一些讨论 - Python的"open()"会为"找不到文件"抛出不同的错误 - 如何处理这两个异常?.但是,我认为,这不是正确的方法.毕竟,存在一个专门避免担心.OSErrorIOErrorFileExistsErrorerrno

以下尝试无效,因为我收到令牌的错误FileExistsError.

try:
    os.mkdir(folderPath)
except FileExistsError:
    print 'Directory not created.'
Run Code Online (Sandbox Code Playgroud)

你如何具体检查这个和类似的其他错误?

fal*_*tru 31

根据代码print ...,您似乎正在使用Python 2.x. FileExistsError在Python 3.3中添加; 你不能使用FileExistsError.

用途errno.EEXIST:

import os
import errno

try:
    os.mkdir(folderPath)
except OSError as e:
    if e.errno == errno.EEXIST:
        print('Directory not created.')
    else:
        raise
Run Code Online (Sandbox Code Playgroud)