python在遵循模式的文件夹中找到所有文件名

圆锥001

我试图在遵循以下模式的文件夹中找到所有文件名:'index_YYYYMMDD.csv'。“ YYYYMMDD”部分代表数据文件的日期。下面列出了一些文件名:

'index_20091101.csv','index_20091102.csv','index_20091103.csv','index_20091104.csv','index_20091105.csv','index_20091106.csv','index_20091107.csv','index_20091108.csv',

给定一个startDate和endDate,我想查找所有文件名,其中日期部分在startDate和endDate之间。例如,对于上面的文件列表,如果startDate = 20091104和endDate = 20091107,我要查找的文件名应为:

'index_20091104.csv','index_20091105.csv','index_20091106.csv','index_20091107.csv'

我尝试了os.listdir函数,该函数为我提供了所有文件名。要过滤掉不需要的文件,我想我需要使用正则表达式,但无法解决。

有人可以帮我吗?谢谢!

贾明疮

我将采用以下方法。您可以定义一个简单的文件过滤器工厂。

import time

def make_time_filter(start, end, time_format, file_format='index_{time_format:}.csv'):
    t_start = time.strptime(start, time_format)
    t_end = time.strptime(end, time_format)
    ft_fmt = file_format.format(time_format=time_format)

    def filt(fname):
        try:
            return t_start <= time.strptime(fname, ft_fmt) <= t_end
        except ValueError:
            return False

    return filt

现在,您只需做一个谓词即可过滤出所需的日期范围

time_filt = make_time_filter('20091101', '20091201', '%Y%m%d')

然后将此传递给 filter

filter(time_filt, os.listdir(your_dir))

或者说它是某种理解

(fname for fname in os.listdir(your_dir) if time_filt(fname))

正则表达式将更通用,但是您不需要这种正则表达式,因为您的文件名全部遵循简单的模式,您知道该模式必须包含日期。有关该time模块的更多信息,请参阅docs

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

python在遵循模式的文件夹中找到所有文件名

来自分类Dev

如何在 Bash 中找到包含某些文件扩展名的所有文件夹?

来自分类Dev

python将文件夹名称附加到所有子文件夹中的文件名

来自分类Dev

python将文件夹名称附加到所有子文件夹中的文件名

来自分类Dev

如何在特定文件夹中找到没有写权限的所有文件?

来自分类Dev

从给定文件夹中的所有文件名中删除所有非法字符

来自分类Dev

将文件夹及其子文件夹中的所有文件名写入CSV文件的脚本

来自分类Dev

将文件夹及其子文件夹中的所有文件名写入CSV文件的脚本

来自分类Dev

如何遍历文件夹中的所有文件(如果文件名未知)?

来自分类Dev

删除文件夹中所有文件,列表中的文件名除外

来自分类Dev

gulp从文件夹中读取所有文件名并存储在某个文件中

来自分类Dev

批处理文件,用于获取文件夹中的所有文件名

来自分类Dev

删除文件夹中的所有文件,列表中的文件名除外

来自分类Dev

找到文件夹以及带有我的字符串的文件名?

来自分类Dev

在文件名中找到交替的(字母或数字)+字母模式

来自分类Dev

cmd-在文件夹中的所有文件中搜索字符串-找到时返回文件名

来自分类Dev

查找和替换文件夹中的所有文件名-PHPStorm / WebStorm

来自分类Dev

从Java项目中的资源文件夹获取所有文件名

来自分类Dev

在Windows的整个子文件夹中替换文件名中的所有#

来自分类Dev

Bash脚本从文件夹中的所有文件名中删除字符

来自分类Dev

获取codenameone项目src文件夹中的所有文件名

来自分类Dev

如何使用angular js列出文件夹中的所有文件名

来自分类Dev

Angular获取指定文件夹内的所有文件名

来自分类Dev

Powershell:对于每个文件夹,请附加所有文件名

来自分类Dev

代码从文件夹中的所有文件名中删除时间戳

来自分类Dev

删除文件夹中所有文件名的一部分?

来自分类Dev

Bash脚本从文件夹中的所有文件名中删除字符

来自分类Dev

如何使用Visual Studio Code在bootstrap sass文件夹中找到变量的所有引用?

来自分类Dev

从文件夹中找到所有外壳脚本并按顺序执行

Related 相关文章

  1. 1

    python在遵循模式的文件夹中找到所有文件名

  2. 2

    如何在 Bash 中找到包含某些文件扩展名的所有文件夹?

  3. 3

    python将文件夹名称附加到所有子文件夹中的文件名

  4. 4

    python将文件夹名称附加到所有子文件夹中的文件名

  5. 5

    如何在特定文件夹中找到没有写权限的所有文件?

  6. 6

    从给定文件夹中的所有文件名中删除所有非法字符

  7. 7

    将文件夹及其子文件夹中的所有文件名写入CSV文件的脚本

  8. 8

    将文件夹及其子文件夹中的所有文件名写入CSV文件的脚本

  9. 9

    如何遍历文件夹中的所有文件(如果文件名未知)?

  10. 10

    删除文件夹中所有文件,列表中的文件名除外

  11. 11

    gulp从文件夹中读取所有文件名并存储在某个文件中

  12. 12

    批处理文件,用于获取文件夹中的所有文件名

  13. 13

    删除文件夹中的所有文件,列表中的文件名除外

  14. 14

    找到文件夹以及带有我的字符串的文件名?

  15. 15

    在文件名中找到交替的(字母或数字)+字母模式

  16. 16

    cmd-在文件夹中的所有文件中搜索字符串-找到时返回文件名

  17. 17

    查找和替换文件夹中的所有文件名-PHPStorm / WebStorm

  18. 18

    从Java项目中的资源文件夹获取所有文件名

  19. 19

    在Windows的整个子文件夹中替换文件名中的所有#

  20. 20

    Bash脚本从文件夹中的所有文件名中删除字符

  21. 21

    获取codenameone项目src文件夹中的所有文件名

  22. 22

    如何使用angular js列出文件夹中的所有文件名

  23. 23

    Angular获取指定文件夹内的所有文件名

  24. 24

    Powershell:对于每个文件夹,请附加所有文件名

  25. 25

    代码从文件夹中的所有文件名中删除时间戳

  26. 26

    删除文件夹中所有文件名的一部分?

  27. 27

    Bash脚本从文件夹中的所有文件名中删除字符

  28. 28

    如何使用Visual Studio Code在bootstrap sass文件夹中找到变量的所有引用?

  29. 29

    从文件夹中找到所有外壳脚本并按顺序执行

热门标签

归档