การตรวจสอบไฟล์สำหรับการเปลี่ยนแปลงในภาษาใดๆ เป็นเรื่องยากเนื่องจากปัญหาข้ามแพลตฟอร์ม บน python มีไลบรารีข้ามแพลตฟอร์มที่ใช้กันอย่างแพร่หลายที่เรียกว่า watchdog ที่อนุญาตให้ดูการเปลี่ยนแปลงได้ คุณสามารถติดตั้งโดยใช้:
$ pip install watchdog
ตัวอย่าง
หากต้องการดูไฟล์ชื่อ 'my_file.txt' โดยใช้ watchdog คุณสามารถใช้โปรแกรมง่ายๆ:
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()
เมื่อคุณเรียกใช้โปรแกรมนี้และทำการเปลี่ยนแปลงใดๆ กับไฟล์ในไดเร็กทอรีปัจจุบัน ฟังก์ชัน on_modified จากคลาส MyHandler จะถูกเรียกพร้อมกับเหตุการณ์ ในคลาส MyHandler คุณสามารถกำหนดฟังก์ชันของคุณเองเพื่อจัดการเหตุการณ์ได้ ในพาธ คุณสามารถระบุไฟล์/ไดเร็กทอรีที่คุณต้องการมอนิเตอร์ หากต้องการหยุดโปรแกรมนี้ ให้ใช้ Ctrl + C