Memantau Perubahan Fail Tanpa Undian
Dalam kes di mana anda perlu menjejaki perubahan pada fail log tertentu dalam masa nyata, adalah penting untuk mengelakkan menggunakan teknik pengundian. Pendekatan yang lebih cekap ialah menggunakan pemberitahuan acara sistem fail.
Menggunakan Modul win32file
Fungsi win32file.FindNextChangeNotification dalam pustaka PyWin32 membolehkan anda melihat perubahan fail . Walau bagaimanapun, ia tidak secara langsung memberikan keupayaan untuk memantau fail tertentu.
Memperkenalkan Watchdog
Penyelesaian alternatif ialah menggunakan perpustakaan Watchdog. Ia menawarkan API merentas platform untuk memantau peristiwa sistem fail, termasuk melihat perubahan pada fail atau direktori tertentu.
Begini cara anda boleh menggunakan Watchdog untuk memantau perubahan fail:
import watchdog.observers import watchdog.events class FileChangeHandler(watchdog.events.FileSystemEventHandler): def on_modified(self, path, filename): # Handle file changes here print(f"File modified: {filename}") observer = watchdog.observers.Observer() observer.schedule(FileChangeHandler(), path, recursive=False) observer.start() observer.join()
Skrip ini secara automatik akan mengesan perubahan pada fail yang ditentukan dan menggunakan kaedah on_modified dengan yang diubah suai nama fail.
Nota: Menggunakan Watchdog pada pemacu rangkaian yang dipetakan mungkin tidak berfungsi kerana pengehadan cara Windows mengendalikan pemberitahuan perubahan fail pada volum rangkaian.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memantau Perubahan Fail Tertentu dengan Cekap Tanpa Undian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!