Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah saya boleh mengalihkan stdout ke String Buffer dalam Python?
Mengubah hala stdout ke String Buffer
Apabila bekerja dengan perpustakaan seperti klien FTP Python, anda mungkin menghadapi situasi di mana fungsi tertentu memberikan output kepada stdout bukannya mengembalikan nilai rentetan. Untuk menangkap output ini, anda perlu mengubah hala stdout ke objek yang sesuai yang boleh menyimpan data.
Tidak seperti Java's BufferedReader, Python menawarkan pendekatan yang berbeza. Modul cStringIO (digantikan dengan io dalam Python 3) menyediakan kelas StringIO yang berfungsi sebagai penimbal dalam memori. Penampan ini boleh dililitkan dengan cekap pada aliran seperti stdout untuk memintas output.
Untuk melaksanakan pengalihan ini, ikut langkah berikut:
import sys from cStringIO import StringIO # Store the original stdout stream old_stdout = sys.stdout # Create the in-memory buffer sys.stdout = mystdout = StringIO() # Execute code that generates output normally directed to stdout # Restore the original stdout stream sys.stdout = old_stdout # Access the output via mystdout.getvalue()
Dengan pendekatan ini, output yang dijana oleh fungsi akan ditangkap dalam objek StringIO (mystdout), yang boleh diakses kemudian dengan membaca nilainya menggunakan mystdout.getvalue().
Atas ialah kandungan terperinci Bagaimanakah saya boleh mengalihkan stdout ke String Buffer dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!