首页 > 解决方案 > Python中的os.makedirs问题没有创建子目录

问题描述

我有一个每小时运行的脚本。

输出文件夹结构应该是 /todaysdate/hour/

因此,在 00:00,脚本将运行并且它应该同时创建 todaysdate 文件夹和一个名为 00 的子文件夹。

在 01:00,脚本将运行 - todaysdate 目录存在,因此它应该只创建子目录。

我已经尝试了以下方法,但这不起作用 - 我将如何处理这个?

file_path = 'Desktop/%s/%s' %(today_date, hour)
directory = os.path.dirname(file_path)
if not os.path.exists(directory):
    os.makedirs(directory)

标签: pythonpython-3.xdirectoryoperating-system

解决方案


您声明要为每个小时创建目录。所以你不需要获取目录名。这应该这样做:

file_path = 'Desktop/%s/%s' %(today_date, hour)
if not os.path.exists(file_path):
    os.makedirs(file_path)

请参阅文档以获取os.path.dirname. 这为您提供了包含的目录file_path,例如

file_path = "Desktop/22-10-2018/00"
print(os.path.dirname(file_path))
>>> "Desktop/22-10-2018/"

推荐阅读