簡體   English   中英

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)

在 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

好的。

我解決了問題...我可能是盲人我搜索的文件是在上述代碼之前下載的,盡管很小,但搜索命令在下載之前開始...我添加了一個簡單的 time.sleep(2)在搜索命令之前。

謝謝大家。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM