Переменные в регулярных выражениях Python?Печатать заявления в потоке воздуха? - PullRequest
0 голосов
/ 06 июня 2018

Я работаю над простой программой, чтобы увидеть, существует ли файл "test-2018-06-04-1358.txt" в каталоге с использованием воздушного потока.У меня есть два вопроса.

A) Я хочу использовать переменную datestr в своем регулярном выражении.Не уверен, как это сделать.

B) Во-вторых, где моя печать (имя файла) отображается в интерфейсе воздушного потока?Я проверил свой журнал просмотра, но ничего не появилось.

def checksFile():   
        d = datetime.today()-timedelta(days=1)
        datestr = '{:%Y-%m-%d}'.format(d)
        for filename in os.listdir('/mnt/volume/home/aabraham/'):
            match = re.search('(test)-(2018-06-04)-(\d+)(\.txt)', filename)
            print(filename)
        if not match:
            raise AirflowException("File not Found")

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

Чтобы ответить на вопрос о регулярном выражении, просто сложите строки вместе:

match = re.search('(test)-(' + datestr + ')-(\d+)(\.txt)', filename)

Это будет работать, только если datestr не содержит никаких литералов регулярного выражения.

0 голосов
/ 06 июня 2018

Вы не можете использовать print так же, как в консоли.

Чтобы просмотреть записи журнала на странице Log, используйте logging.info.Может быть вам нужно import logging.

...