Monitorowanie zawartości plików/katalogów? [duplikat]

To pytanie ma już odpowiedź tutaj:

Szukam wieloplatformowego pakietu do monitorowania plików w Pythonie? Wiem, że możliwe jest monitorowanie plików w windows za pomocą pywin32, a są pakiety działające na Linuksie / Unixie, ale czy ktoś wie o wieloplatformowym?

Author: martineau, 2009-02-28

5 answers

Dla systemów opartych na Uniksie/Linuksie, powinieneś użyć monitorowanie zmian plików w powiązaniach Pythona do libfam .

Dla Systemów Windows, należy powiązać z Win32 API FindFirstChangeNotification i związanych z nimi funkcji.

Jeśli chodzi o drogę krzyżową, Nie wiem, jak dobrą drogę krzyżową. Myślę, że najlepiej byłoby zbudować moduł samodzielnie, który działa na każdym systemie operacyjnym, który używa jednej z powyższych metod 2 po wykryciu, co to jest system operacyjny.
 30
Author: Brian R. Bondy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-23 02:30:00

Pracuję nad biblioteką licencjonowaną przez MIT, która pomaga Pythonowi programy monitorują zdarzenia systemu plików w możliwie przenośny sposób. Są różnice, które staram się rozwikłać. Wysoce wersja alfa w tej chwili:

Sprawdź to tutaj: http://github.com/gorakhargosh/watchdog/

Poprawki i wkłady są mile widziane.

Mam nadzieję, że to pomoże. =) Zdrowie.

 83
Author: GoraKhargosh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-19 10:42:54

Sprawdź również tę opcję:

Http://pypi.python.org/pypi/watchdog

Był używany z wieloplatformową aplikacją na Windows i OS X.

 5
Author: reese.ch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-06 03:50:55

Znalazłem ten link, który mówi o Twoim problemie. Chociaż tak naprawdę nie zapewnia rozwiązania/biblioteki s, myślę, że to pomoże. http://www.stepthreeprofit.com/2008/06/cross-platform-monitoring-of-filesystem.html

Nie wydaje mi się, że istnieje jeszcze jedna wieloplatformowa, więc może zechcesz rzucić własną.

Jestem niedoświadczony w tej dziedzinie, więc nie jestem do końca pewien. Mam nadzieję, że to pomoże.

Uwaga
Zgadzam się, gamin jest dostępny na cygwinie jako Adam Bernier wskazał mi w komentarzu. Możesz poszukać innych opcji na cygwinie (jeśli istnieją).

 2
Author: batbrat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-28 12:29:41

Najprostszym sposobem na Linuksa jest użycie inotifywait (biorąc pod uwagę, że twoje jądro jest wystarczająco świeże). Nie potrzebujesz żadnych specjalnych wiązań, inotifywait można dostosować do drukowania linii wyjściowych na standardowym wyjściu w dowolny sposób. Spójrz i to pytanie na dobry przykład.

 0
Author: JesperE,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:09:59