Ubah hala Output Python ke Fail Teks
Apabila cuba mengubah hala output cetakan ke fail teks menggunakan Python, anda mungkin menghadapi kesukaran jika pilihan anda kaedah tidak menghasilkan hasil yang diingini.
Masalah Penerangan
Kod berikut gagal mengubah hala output ke fail menggunakan sys.stdout:
f = open('output.txt','w') sys.stdout = f path= '/home/xxx/nearline/bamfiles' bamfiles = glob.glob(path + '/*.bam') for bamfile in bamfiles: filename = bamfile.split('/')[-1] print 'Filename:', filename
Penyelesaian
Sebaliknya sys .stdout, pertimbangkan untuk menggunakan objek fail untuk percetakan:
with open('out.txt', 'w') as f: print('Filename:', filename, file=f) # Python 3.x
Penyelesaian Alternatif
from contextlib import redirect_stdout with open('out.txt', 'w') as f: with redirect_stdout(f): print('data')
./script.py > out.txt
Pertimbangan Tambahan
Atas ialah kandungan terperinci Bagaimana untuk Mengalihkan Keluaran Cetakan Python ke Fail Teks dengan betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!