python - 如何使用python打印目录中缺少的日期文件夹
问题描述
我在文件中有以下文本:demo.txt
其中包含日期文件夹名称
需要识别丢失的日期文件夹
下面是我的日期文件夹:
20210901
20210902
20210903
20210906
20210907
20210908
20210909
202109010
202109012
202109013
202109015
202109017
202109018
202109019
如果您仔细观察缺少日期文件夹20210904
等20210905
,则该文件夹名称需要打印为输出
预期输出:
20210904
20210905
20210911
20210914
20210916
我的代码:
listItems=[]
f = open(demo.txt, "r")
listItems = f.read().splitlines()
cunt=count(listItems)
for i in range(cunt):
for i in list:
if i == substr(list,1,3):
print('present')
else:
print(list[i])
解决方案
见下文(想法是将字符串转换为日期,找到最小值和最大值,在最小值和最大值之间循环并找到“孔”)
from datetime import datetime,timedelta
dates_str = ['20210905','20210904','20210905','20210911','20210913']
dates = [datetime. strptime(d, '%Y%m%d') for d in dates_str]
_min = min(dates)
_max = max(dates)
missing = []
while _min < _max:
_min += timedelta(days=1)
if _min not in dates:
missing.append(_min)
print(missing)
输出
[datetime.datetime(2021, 9, 6, 0, 0), datetime.datetime(2021, 9, 7, 0, 0), datetime.datetime(2021, 9, 8, 0, 0), datetime.datetime(2021, 9, 9, 0, 0), datetime.datetime(2021, 9, 10, 0, 0), datetime.datetime(2021, 9, 12, 0, 0)]
推荐阅读
- c# - .NET webforms 数据库连接中的存储库
- django - 我们可以使用 Django 子查询进行算术运算吗?
- regex - perl 正则表达式,用于捕获 tic 标记之间的子字符串
- javascript - 为什么对象使用`Symbol.iterator`,而不仅仅是`iterator`
- batch-file - 如何按顺序合并文件
- c# - Xamarin - 为文本视图设置背景颜色和边框
- python - 脚本问题将配置复制到文件中?
- typescript - 是否可以仅在函数调用中推断出一些泛型?
- javascript - 仅使用 javascript 条件语句返回更改
- amazon-web-services - Cloudformation IAM 政策