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)
在下载路径中我有这些文件
- 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
好的。
我解决了这个问题......我可能是瞎了
我搜索的文件是在上面的代码之前下载的,尽管很小,但搜索命令在下载之前开始...
我在搜索命令之前添加了一个简单的 time.sleep(2)。
感谢大家。
这段代码我写过
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)
在下载路径中我有这些文件
- 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
好的。
我解决了这个问题......我可能是瞎了 我搜索的文件是在上面的代码之前下载的,尽管很小,但搜索命令在下载之前开始... 我在搜索命令之前添加了一个简单的 time.sleep(2)。
感谢大家。