Wpis z mikrobloga

Chcę napisać program, który będzie monitorował czy w folderach w danej lokacji nie pojawiły się nowe pliki o konkretnym rozszerzeniu lub nazwie.

Problem polega na tym, że główny folder zawiera około 1600 folderów, w każdym z tych folderów jest średnio od 5 do 30 podfolderów i dopiero w tych podfolderach znajdują się interesujące mnie pliki. Do tego z dnia na dzień tych podfolderów jest więcej o kilka elementów.

Oczywiście znalazłem odpowiednie moduły do Pythona typu "glob", które sprawdzają ostatnią datę modyfikacji ale zauważyłem, że Windows traktuje modyfikacje w taki sposób:

1. Folder główny
2. Podfolder znajdujący się w folderze głównym - ostatnia modyfikacja 01.07.2021
3. Kolejny podfolder znajdujący się w folderze z punktu 2 (gdzie faktycznie chcę szukać plików) - ostatnia modyfikacja 03.07.2021

Czyli wygląda na to, że podczas szukania nowych plików muszę pętlą wchodzić do każdego podfolderu jak najgłębiej by sprawdzić czy nie znajduje się w nim coś nowego? Na początku myślałem, że wystarczy sprawdzić tylko datę ostatniej modyfikacji tych 1600 folderów i jeżeli tam pojawi się nowa data to dopiero wchodzić do danego folderu ale okazuje się, że główny folder nie "dziedziczy" daty modyfikacji z podfolderów w nim się znajdujących.

Docelowo chcę ten program uruchamiać ręcznie raz dziennie. Foldery nie są przechowywane lokalnie - znajdują się one na zmapowanym dysku sieciowym z którym łączę się przez VPN.

#python #naukaprogramowania
Vojak - Chcę napisać program, który będzie monitorował czy w folderach w danej lokacj...

źródło: comment_1625299042HBPWquSXzNiW6EmHeO0Xe5.jpg

Pobierz
  • 6
@Vojak: a nie łatwiej będzie ci zrobić listę wszystkich elementów rekursywnie, zapisać do pliku a potem szukać różnic poprzez porównanie z listą z poprzedniego cyklu? taki program chyba można napisać nawet w jakimś bashu czy innym powershellu