Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengalihkan Keluaran Cetakan Python ke Fail dan Mengapa Ia Mungkin Gagal?
Ubah Hala Keluar untuk Kod Python
Pertanyaan berpusat di sekitar mengubah hala kenyataan cetakan ke fail teks yang ditetapkan menggunakan Python. Walaupun menggunakan teknik sys.stdout, fail sasaran kekal kosong. Artikel ini bertujuan untuk meneroka isu dan menyediakan penyelesaian alternatif.
Menggunakan Objek Fail untuk Output
Pendekatan paling mudah melibatkan penulisan terus ke objek fail:
with open('out.txt', 'w') as f: print('Filename:', filename, file=f) # Python 3.x # print >> f, 'Filename:', filename # Python 2.x
Ubah hala Standard Output
Sebagai alternatif, ubah hala stdout boleh dicapai dengan kod berikut:
import sys orig_stdout = sys.stdout f = open('out.txt', 'w') sys.stdout = f for i in range(2): print('i = ', i) sys.stdout = orig_stdout f.close()
Menggunakan Pengurus Konteks Perpustakaan Standard
Untuk Python 3.4 dan ke atas, pengurus konteks khusus boleh memudahkan perkara ini proses:
from contextlib import redirect_stdout with open('out.txt', 'w') as f: with redirect_stdout(f): print('data')
Pengalihan Output Luaran
Mengubah hala output secara luaran melalui cangkerang ialah satu lagi pilihan yang berdaya maju:
./script.py > out.txt
Tambahan Pertimbangan
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalihkan Keluaran Cetakan Python ke Fail dan Mengapa Ia Mungkin Gagal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!