在这个有趣的威胁中,如果目录不存在,用户会提供一些创建目录的选项。
得票最多的答案显然是最受欢迎的,我猜是因为它是最短的方法:
if not os.path.exists(directory):
os.makedirs(directory)
Run Code Online (Sandbox Code Playgroud)
第二个答案中包含的功能似乎更强大,在我看来这是最好的方法。
import os
import errno
def make_sure_path_exists(path):
try:
os.makedirs(path)
except OSError as exception:
if exception.errno != errno.EEXIST:
raise
Run Code Online (Sandbox Code Playgroud)
所以我想知道,人们在他们的脚本中做什么?键入 2 行只是为了创建一个文件夹?或者更糟糕的是,将函数复制并粘贴make_sure_path_exists到需要创建文件夹的每个脚本中?
我希望像 Python 这样广泛传播的编程语言已经有一个包含类似功能的库。
我所知道的其他 2 种编程语言更像是脚本语言,可以轻松做到这一点。
重击: mkdir -p path
电源外壳: New-Item -Force path
请不要将此问题视为对 Python 的咆哮,因为它不是那样的。
我打算学习 Python 来编写脚本,其中 90% 的时间我都必须创建文件夹,我想知道这样做的最有效方法是什么。
我真的认为我缺少关于 Python 的一些东西。
小智 22
你可以使用下面的
# file handler
import os
filename = "./logs/mylog.log"
os.makedirs(os.path.dirname(filename), exist_ok=True)
Run Code Online (Sandbox Code Playgroud)