给定路径可能存在或不存在的文件列表,如何在 Python 中创建目录?

dkr*_*roy 3 python file-io amazon-s3 boto amazon-web-services

给定路径可能存在或不存在的文件列表,如何在 Python 中创建目录?

我正在从 s3 下载一些文件,这些文件可能存在于某个目录中,也可能不存在。基于这些代表可能存在也可能不存在的潜在深层嵌套目录的键。

因此,根据 /a/number/of/nested/dirs/file.txt 键,如果 /a/number/of/nested/dirs/ 不存在,我如何创建它们,并以不采取的方式进行创建永远检查列表中的每个文件。

我这样做是因为如果本地父目录尚不存在就会get_contents_to_filename中断。

我使用答案的最终解决方案:

for file_with_path in files_with_paths:
    try:
        if not os.path.exists(file_with_path):
            os.makedirs(file_with_path)
        site_object.get_contents_to_filename(file_with_path)
    except:
        pass
Run Code Online (Sandbox Code Playgroud)

Chr*_*heD 5

只需使用os.makedirs()。如果需要,这将创建所有中间目录。

递归目录创建功能。与 mkdir() 类似,但使所有需要的中间级目录包含叶目录。如果叶目录已存在或无法创建,则会引发错误异常。默认模式为 0777(八进制)。在某些系统上,模式会被忽略。在使用它的地方,当前的 umask 值首先被屏蔽掉。