【问题标题】:reading filenames with multiple patterns using glob in python [duplicate]在python中使用glob读取具有多种模式的文件名[重复]
【发布时间】:2019-02-06 03:06:49
【问题描述】:

在一个目录中,我有多个文件。但我只想获取几个具有特定模式的 csv 文件。

例子

目录中的文件: abc.csv、xyz.csv、uvw.csv、sampl.csv、code.py、commands.txt、abc_1.csv、sam.csv、xyz_1.csv 、uvw_1.csv、mul.csv、pp.csv……

我需要获取 csv 文件名: abc.csv、xyz.csv、uvw.csv、abc_1.csv、xyz_1.csv、uvw_1.csv、abc_2.csv、xyz_2.csv、uvw_2 .csv,....(有时更多的文件只是文件名中的数字发生变化,如 abc_3.csv)

在 python 中,我们可以使用

获取文件

文件 = glob.glob("*.csv")

但是对于上述要求,如何修改上述行或任何其他有效的方法

【问题讨论】:

    标签: python csv glob


    【解决方案1】:

    使用正则表达式。

    例如:

    import glob
    import os
    import re
    
    for filename in glob.glob(r"Path\*.csv"):
        if re.match(r"[a-z]{3}(_\d*)?\.csv", os.path.basename(filename)):
            print(filename)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-03
      • 1970-01-01
      • 2020-03-24
      • 1970-01-01
      • 1970-01-01
      • 2014-07-07
      • 2020-06-12
      • 2020-01-13
      相关资源
      最近更新 更多