import inotify.adapters import argparse parser = argparse.ArgumentParser(description='Iniciar monitorador do sistema de arquivos') parser.add_argument('--path', action='store', dest='path', default='/', required=False) parser.add_argument('--timeout', action='store', dest='timeout', default=1, required=False) args = parser.parse_args() path = args.path timeout = float(args.timeout) print(f'Iniciando watcher em \033[32m{path}\033[0m com {timeout}s de timeout...') i = inotify.adapters.InotifyTree(path) print('Iniciado') while 1: events = i.event_gen(yield_nones=False, timeout_s=timeout) events = list(events) for event in events: all_evs = [] for ev in events: all_evs.append(ev[1]) all_evs = [''.join(evs) for evs in all_evs] size = len(sorted(all_evs, key=len, reverse=True)[0]) evs = ', '.join(event[1]) spaces = ' ' * ( size - len(evs) + 3 ) path = event[2] filename = event[3] print(f'\033[32m\033[1m{evs}\033[0m{spaces} {path}/{filename}') if events: print('\n')