Redirecting stdout Output to a String Buffer in Python
When using ftplib in Python, some functions output information to stdout instead of returning strings. If you require this output in a string variable, redirection is necessary.
To redirect stdout to an in-memory buffer, consider the following solution:
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()
This method effectively wraps a StringIO buffer around stdout, allowing you to capture and manipulate the output as a string after execution.
Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.
Copyright© 2022 湘ICP备2022001581号-3