Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengalihkan Keluaran Cetakan Python ke Fail Teks dengan betul?

Bagaimana untuk Mengalihkan Keluaran Cetakan Python ke Fail Teks dengan betul?

Susan Sarandon
Lepaskan: 2024-11-27 19:43:14
asal
264 orang telah melayarinya

How to Properly Redirect Python Print Output to a Text File?

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
Salin selepas log masuk

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
Salin selepas log masuk

Penyelesaian Alternatif

  • Gunakan pengurus konteks untuk mengubah hala output:
from contextlib import redirect_stdout

with open('out.txt', 'w') as f:
    with redirect_stdout(f):
        print('data')
Salin selepas log masuk
  • Ubah hala output secara luaran daripada shell:
./script.py > out.txt
Salin selepas log masuk

Pertimbangan Tambahan

  • Pastikan fungsi glob mencari fail yang dimaksudkan.
  • Memanipulasi dengan betul laluan fail menggunakan os.path.join dan os.path.basename.

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan