Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengekor Fail Log dalam Python Tanpa Menyekat?
Python Tail: Tailing Log Fail Tanpa Menyekat
Dalam Python, tailing fail log tanpa menyekat atau mengunci boleh dicapai menggunakan pelbagai kaedah. Satu pendekatan yang biasa digunakan melibatkan penggunaan modul subproses dalam kombinasi dengan modul terpilih.
Tailing Tidak Menghalang:
Apabila bekerja dalam persekitaran Linux, anda boleh memanfaatkan pilih modul untuk meninjau paip keluaran subproses yang menjalankan perintah ekor. Berikut ialah contoh:
import time import subprocess import select f = subprocess.Popen(['tail', '-F', filename], stdout=subprocess.PIPE, stderr=subprocess.PIPE) p = select.poll() p.register(f.stdout) while True: if p.poll(1): print(f.stdout.readline()) time.sleep(1)
Kod ini menggunakan kaedah select.poll() untuk menyemak sama ada terdapat data baharu yang tersedia pada paip output. Apabila ia mengesan baris baharu, ia mencetaknya.
Menyekat Tailing:
Untuk pelaksanaan yang lebih mudah, anda boleh menggunakan modul subproses tanpa modul pilihan. Walau bagaimanapun, kaedah ini menyekat skrip sehingga proses ekor ditutup.
import subprocess f = subprocess.Popen(['tail', '-F', filename], stdout=subprocess.PIPE, stderr=subprocess.PIPE) while True: line = f.stdout.readline() print(line)
Kod ini membaca dan mencetak baris baharu apabila ia muncul, tetapi ia menyekat sehingga proses ekor ditamatkan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekor Fail Log dalam Python Tanpa Menyekat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!