Memantau Perubahan Fail dalam Python
Artikel ini menangani cabaran memantau fail log untuk perubahan dan membaca data yang dikemas kini untuk pemprosesan. Soalan asal menyatakan keinginan untuk mencari penyelesaian bukan pengundian, yang berpotensi menggunakan PyWin32.
Untuk tujuan ini, Pustaka Python Watchdog menawarkan penyelesaian yang menjanjikan. Watchdog direka untuk memantau peristiwa sistem fail merentas pelbagai platform. Ia menyediakan API yang membolehkan pembangun menentukan pengendali acara tersuai untuk melakukan tindakan tertentu apabila fail diubah suai atau dibuat.
Menggunakan Watchdog, seseorang boleh menyediakan pengendali acara mudah untuk menonton fail log tertentu dan membaca kandungannya atas sebarang perubahan. Berikut ialah contoh:
import watchdog.observers as observers import watchdog.events as events class FileEventHandler(events.FileSystemEventHandler): def on_modified(self, path, event): with open(path, 'r') as f: data = f.read() # Process the new data here # Path to the log file log_path = '/path/to/log.txt' # Create the file handler handler = FileEventHandler() # Create the observer and schedule the log file for monitoring observer = observers.Observer() observer.schedule(handler, log_path, recursive=False) # Start the observer observer.start() # Blocking code to keep the observer running observer.join()
Dengan persediaan ini, sebarang pengubahsuaian pada fail log akan mencetuskan kaedah on_modified, yang seterusnya membaca dan memproses data baharu. Dengan menyediakan cara yang boleh dipercayai dan cekap untuk memantau perubahan fail, Watchdog mengurangkan keperluan untuk tinjauan pendapat dan menawarkan penyelesaian praktikal untuk keperluan khusus ini.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memantau Perubahan Fail Log dengan Cekap dalam Python Tanpa Undian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!