Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah saya Boleh Mengalihkan Output stdout Python ke Pembolehubah Rentetan?

Bagaimanakah saya Boleh Mengalihkan Output stdout Python ke Pembolehubah Rentetan?

Linda Hamilton
Linda Hamiltonasal
2024-11-26 00:15:13771semak imbas

How Can I Redirect Python's stdout Output to a String Variable?

Mengubah hala Output stdout kepada String Buffer dalam Python

Apabila menggunakan ftplib dalam Python, sesetengah fungsi mengeluarkan maklumat kepada stdout dan bukannya mengembalikan rentetan. Jika anda memerlukan output ini dalam pembolehubah rentetan, pengalihan semula diperlukan.

Untuk mengubah hala stdout ke penimbal dalam memori, pertimbangkan penyelesaian berikut:

from cStringIO import StringIO  # Python 2
# or from io import StringIO  # Python 3

import sys

# Save the original stdout object
old_stdout = sys.stdout

# Create a new StringIO object to capture stdout output
mystdout = StringIO()

# Redirect stdout to the new StringIO object
sys.stdout = mystdout

# Execute code that generates stdout output
# ...

# Restore original stdout
sys.stdout = old_stdout

# Access the captured stdout output
output = mystdout.getvalue()

Kaedah ini membungkus StringIO dengan berkesan penimbal di sekeliling stdout, membolehkan anda menangkap dan memanipulasi output sebagai rentetan selepas pelaksanaan.

Atas ialah kandungan terperinci Bagaimanakah saya Boleh Mengalihkan Output stdout Python ke Pembolehubah Rentetan?. 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