python - Python:使用正则表达式匹配文件名
问题描述
我写了这段代码
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)
在 downloadPath 我有这些文件
- export_20200619183900.xlsx
- export_20200619183921.xlsx
- export_20200619183930.xlsx
但是 re.match 没有按要求匹配。
但是,如果我改变
filename = now.strftime("%Y%m%d%H%M")
一个简单的任务
filename = "202006191839"
该代码有效。问题是,我需要动态数据。
谁能帮我?
解决方案
我想是因为你在匹配'export_' + filename
,但是你说文件是excel_20200619183900
推荐阅读
- r - 如何使用或转义 at 符号 @ 以便它可以在 R 包文档中使用?
- javascript - 尝试打开一个新窗口并在其中创建元素
- c++ - 如何在构造函数中访问类变量以在不使用 C++ 中的 this 指针的情况下分配它们
- haskell - 从 Haskell 的列表中返回序列的第一次迭代
- r - 在R中将分组对组合成一个组
- php - 如何通过 sharedprefrence 保存列表数据
- rust - 为什么 Rust 迭代器的 FnMut 是谓词而不是 Fn?
- python - 不能将 2 定义为素数
- python-3.x - 如果python中相同值的条件不同
- java - 如何从 Firebase 列表视图中的管理员帐户中删除用户帐户?