Python: 使用正则表达式匹配文件名

Python: filename matching using regex

这段代码我写过

import os
from datetime import datetime
import re

now = datetime.now() 
filename = now.strftime("%Y%m%d%H%M") #For example 202006191839

for fname in os.listdir(downloadPath):                
   if re.match('export_' + filename + '[0-9]{2}.xlsx', fname):
      print(fname)

在下载路径中我有这些文件

但是 re.match 没有按要求匹配。

但是,如果我改变

filename = now.strftime("%Y%m%d%H%M")

通过简单的赋值

filename = "202006191839"

代码有效。 问题是,我需要动态数据。

谁能帮帮我?

我认为是因为你在匹配'export_' + filename,但你说文件是excel_20200619183900

好的。

我解决了这个问题......我可能是瞎了 我搜索的文件是在上面的代码之前下载的,尽管很小,但搜索命令在下载之前开始... 我在搜索命令之前添加了一个简单的 time.sleep(2)。

感谢大家。