किसी भी भाषा में फ़ाइलों में परिवर्तनों की निगरानी करना क्रॉस-प्लेटफ़ॉर्म मुद्दों के कारण कठिन है। पायथन में, watchdog नामक एक व्यापक रूप से उपयोग की जाने वाली क्रॉस-प्लेटफ़ॉर्म लाइब्रेरी है जो परिवर्तनों को देखने की अनुमति देती है। इसे इंस्टॉल करें:
$ pip install watchdog
उदाहरण
watchdog का उपयोग करके 'my_file.txt' नामक फ़ाइल को देखने के लिए, आप निम्न सरल प्रोग्राम का उपयोग कर सकते हैं:
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class MyHandler(FileSystemEventHandler):
def on_modified(self, event):
print("Got it!")
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()
जब आप इस प्रोग्राम को चलाते हैं और करंट डायरेक्टरी में किसी भी फ़ाइल में परिवर्तन करते हैं, तो MyHandler क्लास से on_modified फ़ंक्शन इवेंट के साथ कॉल होता है। MyHandler क्लास में आप इवेंट्स को संभालने के लिए अपने फ़ंक्शन परिभाषित कर सकते हैं। path में, आप उन फ़ाइलों/डायरेक्टरी को निर्दिष्ट कर सकते हैं जिनकी आप निगरानी करना चाहते हैं। इस प्रोग्राम को रोकने के लिए Ctrl + C का उपयोग करें।