python创建目录语句是_Python安全创建目录的方法

在介绍Python安全创建目录之前,先举一个不安全创建目录的方式:

if not os.path.exists(directory):

os.makedirs(directory)

在例子里,先判断目录是否存在,然后创建目录。这种方式是不安全的,它会导致竞争条件。在os.path.exists()和os.makedirs()之间的时间可能会出现目录被创建。不推荐使用这种方式。

Python 3.5+:

在python 3.5+可以使用pathlib的mkdir:

import pathlib

pathlib.Path('/my/directory').mkdir(parents=True, exist_ok=True)

pathlib的mkdir接收两个参数:

parents:如果父目录不存在,是否创建父目录。

exist_ok:只有在目录不存在时创建目录,目录已存在时不会抛出异常。

Python 3.2+:

使用pathlib2

python3.2+是和Python3.5+用法一样,但是需要导入的是pathlib2,而不是pathlib。

使用os

import os

os.makedirs(path, exist_ok=True)

Python 2.7+:

使用pathlib2

使用方法和Python3.2一样,导入的是pathlib2.

使用os

为了避免出现竞争条件,使用os需要使用try语句。

import os

try:

os.makedirs(path)

except OSError:

if not os.path.isdir(path):

raise

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值