如何在Python中使用os.makedirs进行错误验证?

12 投票
3 回答
19506 浏览
提问于 2025-04-15 20:02

我该如何让这个命令在出错时进行验证呢?

if blablablabla:
    os.makedirs('C:\\test\\')

如果文件夹已经存在,它会给我返回一个错误……我该如何让它忽略这个错误,并继续执行呢?

3 个回答

-4

你可以试试用 try/except 吗?

try:
   os.makedirs('C:\\test\\')
except: pass
8

Python3.2及以上版本 中,只需要加上 exist_ok=True 就能解决这个问题。

如果 exist_ok 设置为 False(这是默认值),那么如果目标文件夹已经存在,就会出现一个叫做 FileExistsError 的错误。

os.makedirs('C:\\test\\',exist_ok=True)
34
try:
    os.makedirs('C:\\test\\')
except OSError:
    pass
import errno
try:
    os.makedirs('C:\\test\\')
except OSError as e:
    if e.errno != errno.EEXIST:
        raise  # raises the error again

你可能还想看看具体的“已经存在”的错误(因为 OSError 可能意味着其他问题,比如 权限被拒绝...)

撰写回答