0

我正在尝试从 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)

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

4

1 回答 1

0

尝试这个

代码:

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
于 2020-02-25T19:39:51.403 回答