Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Memaparkan Output Program Secara serentak ke Konsol dan Logkannya ke Fail?

Bagaimanakah Saya Boleh Memaparkan Output Program Secara serentak ke Konsol dan Logkannya ke Fail?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-22 04:45:09211semak imbas

How Can I Simultaneously Display Program Output to the Console and Log It to a File?

Teeing System Output ke Fail Log

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn