首页 > 解决方案 > 创建年、月、日文件夹 Python

问题描述

如果路径不存在,则代码可以正常工作,但是当 year(2021) 文件夹存在时,它只会在第一个条件后停止工作

def check_path():
    from datetime import datetime, timedelta  

    dt = datetime.today()
    year = str(dt.year)
    month = str(dt.month)
    day = str(dt.day)
    
    path = os.path.join( year)
        
    if not os.path.exists(path):
        os.mkdir(path)   
        path = os.path.join(path, month)

        if not os.path.exists(path):
            os.mkdir(path)      
            path = os.path.join(path, day)
            

            if not os.path.exists(path):
                os.mkdir(path)      

我想要的最终结果是 //2021//08//26 个文件夹创建

标签: python

解决方案


我建议使用路径库中的路径,如下所示:-

from pathlib import Path
from datetime import datetime

t = datetime.today()
basedir = '/Users/andy'

Path(f'{basedir}/{t.year}/{t.month:02d}/{t.day:02d}').mkdir(parents=True, exist_ok=True)

注意:这适用于 Unix 类型的系统。对于 Windows 适当调整路径分隔符


推荐阅读