提取目录中的特定文件-Windows

时间:2019-07-03 18:25:43

标签: python

我正在运行一个循环,该循环需要访问目录中的大约200个文件。

在文件夹中-文件的格式范围如下:

  1. Excel_YYYYMMDD.txt
  2. Excel_YYYYMMDD_V2.txt
  3. Excel_YYYYMMDD_orig.txt

我只需要提取第一个-YYYYMMDD.txt,就没有其他

我正在使用glob.glob来访问我按如下方式指定路径名的目录:

path = "Z:\T\Al8787\Box\EAST\OT\\ABB files/2019/*[0-9].txt"

但是代码也提取了.Excel_YYYYMMDD_orig.txt文件

在如何修改代码以仅提取所需文件方面提供了帮助。

2 个答案:

答案 0 :(得分:1)

这是一种廉价的方法(而廉价的意思可能不是最好/最清洁的方法):

import glob
l = glob.glob("Excel_[0-9]*.txt")

这会让您:

>>> print(l)
['Excel_19900717_orig.txt', 'Excel_19900717_V2.txt', 'Excel_19900717.txt']

现在自己过滤:

nl = [x for x in l if "_orig" not in x and "_V2" not in x]

这将为您提供:

>>> print(nl)
['Excel_19900717.txt']

手动过滤glob的原因是因为glob库不支持正则表达式。

答案 1 :(得分:0)

使用^Excel_[0-9]{8}\.txt作为与文件匹配的正则表达式。