前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >有留言功能了!Python如何筛选出指定时间段的文件列表

有留言功能了!Python如何筛选出指定时间段的文件列表

作者头像
用户11172986
发布2024-06-20 19:07:34
690
发布2024-06-20 19:07:34
举报
文章被收录于专栏:气python风雨气python风雨

首先惊喜地发现公众号有留言功能了,这样大家交流也更便利,以后有经费搞个抽奖什么的也方便。

下面写一个近期学的小技巧:

当一个文件夹内有大量文件且我们要批处理指定时间范围时,通常我们(小白阶段)要去通配一下时间段,使用命令行mv或者cp一下

那有没有那种代码实现直接把脚本放进去运行就能锁定指定文件的功能?

假定我们文件夹下有一个时间序列很长的

文件名中时间戳的格式为`wrfout_dXX_YYYY-MM-DD_HH:MM:SS`。

筛选出09:30到12:00之间的文件,可以使用以下代码:

代码语言:javascript
复制
import glob
from datetime import datetime

# 定义起止时间
start_time_str = '09:30:00'
end_time_str = '12:00:00'

start_time = datetime.strptime(start_time_str, '%H:%M:%S').time()
end_time = datetime.strptime(end_time_str, '%H:%M:%S').time()

WRF_FILES = [filepath for filepath in glob.glob('./*wrfout_d03*')
             if start_time <= datetime.strptime(filepath.split('_')[-1].split('.')[0], '%H:%M:%S').time() <= end_time]

print(WRF_FILES)

这段代码首先将起止时间字符串转换为`datetime.time`对象。接着,利用列表推导式遍历所有符合基本模式`*wrfout_d03*`的文件。对于每个文件,提取并解析文件名中代表时间的部分(假定为最后一个`_`后的部分),将其转换为`datetime.time`对象。

进行简单粗暴的比大小,如果符合条件,则将文件路径添加到结果列表中。

当然不同时间格式的话稍微改改就行,如果是纯数字甚至用不上datetime库,直接比大小即可。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-04-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 气python风雨 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档