尝试匹配 FTP 文件列表中的正则表达式文件名

Trying to match a Regex filename from a list of FTP files

我正在尝试从 ftp 为日常文件创建条件下载,我正在努力让正则表达式处理具有唯一时间戳的文件以正确匹配并下载。这是我的。

示例文件名:

BCW_SDP_Rolling_7Days.rpt2020-02-24-07-27-24.csv

以下是我能够使用我所知道的构建的内容:

today = datetime.date.today()
widate = (f"{today:%Y-%m-%d}")
pattern = ("BCW_SDP_Rolling_7Days.rpt"+widate+"*.csv")

我想从 ftp 中提取文件列表进行比较:

ftp_list = connection.nlst()

然后想使用正则表达式与该列表中的文件进行比较以找到正确匹配的文件:

> wistring = re.search(r'"BCW_SDP_Rolling_7Days.rpt"+widate+"*.csv",
> ftp_list) filenameWI = str(wistring) print (filenameWI)

不幸的是,它要么松散地匹配了一堆不正确的名称,要么在我尝试过的所有不同迭代中都给出了错误。我知道这里缺少一些简单的东西,请帮忙。

试试这个

代码:

import datetime
import re


filename = "BCW_SDP_Rolling_7Days.rpt2020-02-24-07-27-24.csv"

# current_date = str(datetime.date.today())
current_date = "2020-02-24"
pattern = r"BCW_SDP_Rolling_7Days\.rpt" + current_date + r"(?:-\d{2}){3}\.csv"

if re.search(pattern, filename):
    print("pass")

输出:

pass