在 Python 中将 stdout 输出重定向到字符串缓冲区
在 Python 中使用 ftplib 时,某些函数将信息输出到 stdout 而不是返回字符串。如果您需要在字符串变量中输出此输出,则需要重定向。
要将 stdout 重定向到内存缓冲区,请考虑以下解决方案:
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()
此方法有效地包装了 StringIO stdout 周围的缓冲区,允许您在执行后以字符串形式捕获和操作输出。
以上是如何将 Python 的 stdout 输出重定向到字符串变量?的详细内容。更多信息请关注PHP中文网其他相关文章!