Isu:
Cara untuk memaparkan output pada konsol secara serentak sambil juga mengelog ke fail, termasuk panggilan sistem output?
Penyelesaian:
Gunakan kelas Tee untuk menduplikasi output sistem kepada fail log tanpa ubah hala.
Mula-mula, import perpustakaan yang diperlukan:
import sys
Kemudian, buat seketika Tee objek:
tee = Tee("my_log.txt", 'w')
Ini akan membuka fail log yang ditentukan dan menduplikasi semua output stdout berikutnya kepada kedua-dua fail dan konsol.
Akhir sekali, pastikan anda mengembalikan stdout kembali kepada keadaan asal apabila selesai:
del tee
Contoh Penggunaan:
with Tee("my_log.txt", 'w'): print("foo bar") os.spawnve("P_WAIT", "/bin/ls", ["/bin/ls"], {}) os.execve("/bin/ls", ["/bin/ls"], os.environ)
Ini kod akan mencetak "bar foo" ke konsol dan logkannya ke "my_log.txt", serta mengelog sebarang output daripada arahan sistem yang dilaksanakan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memaparkan Output Program Secara serentak ke Konsol dan Logkannya ke Fail?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!