Próbuję obejrzeć niektóre pliki tekstowe, gdy są one modyfikowane przy użyciu watchdog
, ale wydaje się, że tylko uzyskać zdarzenia dla plików .tmp
. Rozumiem, że w ten sposób zapisywany jest tekst sublimowany, ale czy nie powinienem również otrzymać zdarzenia uruchamianego dla rzeczywistego pliku?Python watchdog nie wypalanie wszystkich zdarzeń
To co mam przy próbie zapisania pliku w miejscu /home/john/resources/css/style.css
w Sublime Text:
/home/john/resources/css/.sublaa.tmp
/home/john/resources/css/.sublaa.tmp
/home/john/resources/css/.sublaa.tmp
Wydaje się dostać tylko zdarzenia opalane dla PZT plików, ale nie do rzeczywistego pliku. To faktycznie działa poprawnie na MacOSX, ale nie na Ubuntu.
#!/usr/bin/python
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class MyHandler(FileSystemEventHandler):
def on_any_event(self, event):
print event.src_path
if __name__ == "__main__":
event_handler = MyHandler()
observer = Observer()
observer.schedule(event_handler, path='.', recursive=False)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
Nie wiem, ale myślę, że powinieneś spróbować https://github.com/seb-m/pyinotify i sprawdzić, czy ma ten sam problem. –
Zacznij od zastanowienia się, jaki wspaniały tekst * faktycznie * robi podczas zapisywania plików. Na przykład. użyj 'inotifywait -m .', aby potwierdzić, że zdarzenia create/delete faktycznie się zdarzają. W przeciwnym razie to tylko spekulacje. Zakładam, że nie ma takich problemów podczas korzystania z dotyku i rm. – takoi