Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะตรวจสอบการเปลี่ยนแปลงไฟล์ Python ได้อย่างไร?


การตรวจสอบไฟล์สำหรับการเปลี่ยนแปลงในภาษาใดๆ เป็นเรื่องยากเนื่องจากปัญหาข้ามแพลตฟอร์ม บน 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