аватар question@mail.ru · 01.01.1970 03:00

Как отслеживать изменения файлов и копировать изменённые файлы в другую папку?

Суть программы: проверить файлы на последнее изменение, и если они были изменены, то копируем их в другую папку.

Так вот проблема в том, что у меня есть список файлов, полученный с помощью функции os.listdir(path). Но его содержимое, всего лишь текст.

Как я могу привязать элементы к реальным файлам?


PS из :

Дата предыдущего изменения, сохраненна в списке/словаре. Я хочу сделать так, чтобы каждые 30 секунд проверялось, изменился ли файл.

аватар answer@mail.ru · 01.01.1970 03:00

Для полноты картины не хватает ответа с

import loggingimport inotify.adapters_DEFAULT_LOG_FORMAT = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'_LOGGER = logging.getLogger(__name__)def _configure_logging():    _LOGGER.setLevel(logging.DEBUG)    ch = logging.StreamHandler()    formatter = logging.Formatter(_DEFAULT_LOG_FORMAT)    ch.setFormatter(formatter)    _LOGGER.addHandler(ch)def _main():    i = inotify.adapters.Inotify()    i.add_watch('/tmp')    try:        for event in i.event_gen():            if event is not None:                (header, type_names, watch_path, filename) = event                _LOGGER.info(""WD=(%d) MASK=(%d) COOKIE=(%d) LEN=(%d) MASK->NAMES=%s ""                             ""WATCH-PATH=[%s] FILENAME=[%s]"",                             header.wd, header.mask, header.cookie, header.len, type_names,                             watch_path, filename)    finally:        i.remove_watch('/tmp')if __name__ == '__main__':    _configure_logging()    _main()

i.event_gen() yield-ит события о изменении файлов в каталоге.

Последние

Похожие