python - 创建年、月、日文件夹 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 个文件夹创建
解决方案
我建议使用路径库中的路径,如下所示:-
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 适当调整路径分隔符
推荐阅读
- java - 如何从xml创建对象的arrayList?
- tensorflow - “UnicodeDecodeError: 'utf-8' codec can't decode byte 0x91 in position 23: invalid start byte” 使用 Tensorflow 对象检测 API 时出错
- sql-server - 将大型数据从 SQL Server 保存到 XML。尝试了几种方法,但总是被砍掉
- python - 从嵌套字典中删除空字符串键,字典理解
- rxjs - 在 Redux Observable 中完成所有操作后调度一个操作
- typescript - global(s).d.ts 在打字稿中有特殊含义吗?
- python - 使用 selenium Python 在多个选择框中一次选择所有选项
- macos - 如何在 Ubuntu 19.04 中重新绑定 Home 和 End 键
- c# - C#如何从数组中获取最后5个变量?
- c# - 如何过滤/搜索 JSON 字符串