在python中使用glob读取具有多种模式的文件名

时间:2018-08-31 06:08:23

标签: python csv glob

在目录中,我有多个文件。但我只想获取具有特定模式的少数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”)

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

1 个答案:

答案 0 :(得分:0)

使用正则表达式。

例如:

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)