【发布时间】:2015-08-20 16:19:51
【问题描述】:
在this interesting threat 中,如果目录不存在,用户会提供一些选项来创建目录。
得票最多的答案显然是最受欢迎的,我猜是因为它是最短的方法:
if not os.path.exists(directory):
os.makedirs(directory)
第二个答案中包含的功能似乎更强大,在我看来是最好的方法。
import os
import errno
def make_sure_path_exists(path):
try:
os.makedirs(path)
except OSError as exception:
if exception.errno != errno.EEXIST:
raise
所以我想知道,人们在他们的脚本中做了什么?键入 2 行只是为了创建一个文件夹?或者更糟糕的是,将函数make_sure_path_exists 复制并粘贴到每个需要创建文件夹的脚本中?
我希望像 Python 这样广泛传播的编程语言已经有一个包含类似函数的库。
我知道的其他两种编程语言,更像是脚本语言,可以轻松做到这一点。
重击:mkdir -p path
Powershell:New-Item -Force path
请不要将此问题视为对 Python 的咆哮,因为它不是这样的。
我正计划学习 Python 来编写脚本,其中 90% 的时间我都必须创建文件夹,我想知道这样做最有效的方法是什么。
我真的认为我缺少关于 Python 的一些东西。
【问题讨论】:
-
在 Python 3 中,
os.makedirs()有一个 kwarg “exist_ok”。见这里:github.com/python/cpython/blob/master/Lib/os.py#L216
标签: python