我正在运行一个循环,该循环需要访问目录中的大约200个文件。
在文件夹中-文件的格式范围如下:
我只需要提取第一个-YYYYMMDD.txt,就没有其他
我正在使用glob.glob来访问我按如下方式指定路径名的目录:
path = "Z:\T\Al8787\Box\EAST\OT\\ABB files/2019/*[0-9].txt"
但是代码也提取了.Excel_YYYYMMDD_orig.txt文件
在如何修改代码以仅提取所需文件方面提供了帮助。
答案 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
作为与文件匹配的正则表达式。