2016-03-04 3 views
1

У меня есть код pandas для 9 разных файлов каждый день. В настоящее время у меня есть запланированная задача для запуска кода в определенное время, но иногда файлы не были загружены в SFTP нашим клиентом вовремя, что означает, что код не будет работать. Я хочу создать скрипт проверки файлов.Проверка наличия списка файлов перед продолжением?

ответ

2
import os, time 

filelist = ['file1','file2','file3'] 

while True: 
    list1 = [] 

    for file in filelist: 
     list1.append(os.path.isfile(file)) 

    if all(list1): 
     # All elements are True. Therefore all the files exist. Run %run commands 
     break 
    else: 
     # At least one element is False. Therefore not all the files exist. Run FTP commands again 
     time.sleep(600) # wait 10 minutes before checking again 

all() проверяет, являются ли все элементы в списке True. Если хотя бы один элемент равен False, он возвращает False.

+0

Это сработало хорошо, спасибо. –

1

Сокращение ответа Фархана. Вы можете использовать понимание списка и быть более привлекательным для упрощения кода.

import os, time 
while True: 
    filelist = ['file1', 'file2', 'file3'] 
    if all([os.path.isfile(f) for f in filelist]): 
     break 
    else: 
     time.sleep(600) 
Смежные вопросы