Как искать самые последние файлы Excel в каталогах remore в PYTHON? - PullRequest
1 голос
/ 15 сентября 2010

Это код, который перечисляет все подкаталоги с FTP-сервера.Как мне искать самые последние файлы Excel, расположенные в этом каталоге нескольких подкаталогов?Как показано в результатах, я хочу просмотреть все подкаталоги ls**** и уведомить меня, если есть файл Excel с текущей датой.

Заранее спасибо!

from ftplib import FTP

def handleDownload(block):
    file.write(block)
    print ".",

ftp = FTP('connect to host,'name', 'dflt port')   
directory = 'Dir_name'
ftp.cwd(directory)

data = []

ftp.dir(data.append)
ftpContentList = ftp.retrlines('LIST')     # list directory contents

Результаты:

drwxrwx---   4 17610000 smartfile     4096 Jul 21 19:31 ls0125
drwxrwx---   4 17610000 smartfile     4096 Jul 19 20:34 ls0146
drwxrwx---   4 17610000 smartfile     4096 Jul 21 19:31 ls0265
drwxrwx---   4 17610000 smartfile     4096 Jul 19 20:34 ls0368

1 Ответ

1 голос
/ 15 сентября 2010

Вы захотите зарегистрировать функцию обратного вызова в ftp.retlines следующим образом

def callback(line):
    try:
        #only use this code if you'll be dealing with that FTP server alone
        #look into dateutil module which parses dates with more flexibility
        when = datetime.strptime(re.search('[A-z]{3}\s+\d{1,2}\s\d{1,2}:\d{2}', line).group(0), "%b %d %H:%M")
        today = datetime.today()
        if when.day == today.day and when.month == today.month:
            pass #perform your magic here
    except:
        print "failed to parse"
        return

ftp.retrlines('LIST', callback)
...