Python: соответствие имени файла с использованием регулярного выражения - PullRequest
0 голосов
/ 19 июня 2020

Я написал этот код

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

Но повторное сопоставление не соответствует желаемому.

Но, если я изменю

filename = now.strftime("%Y%m%d%H%M")

с простое присвоение

filename = "202006191839"

Код работает. Проблема в том, что мне нужны динамические c данные.

Кто-нибудь может мне помочь?

Ответы [ 2 ]

1 голос
/ 19 июня 2020

Я думаю, это потому, что вы соответствуете 'export_' + filename, но вы сказали, что файл был excel_ 20200619183900

0 голосов
/ 03 июля 2020

Хорошо.

Я решил проблему ... Я, вероятно, слепой Файл, который я ищу, загружается до указанного выше кода, несмотря на то, что он очень маленький, команда поиска запускается перед загрузкой ... Я добавил простой time.sleep (2) перед командой поиска.

Всем спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...