使用自定义类捕获 Python 控制台输出 - Capturing Console Output in Python Using Custom Class
在python中,当执行一段代码时,如果想要获取这段代码输出到控制台的信息的话,可以使用重定向stdout的方法。 In Python, if you want to capture the information output to the console when executing a piece of code, you can use the method of redirecting stdout. 首先,建立一个类,里面有两个函数,write和flush First, establish a class with two functions, write and flush. ```python class StdoutRedirect: def __init__(self): self.content = '' def write(self, text): self.content += text def flush(self): self.content = '' ``` 实例化这个类,并且重定向sys.stdout Instantiate this class and redirect sys.stdout to it. ```python my_stdout = StdoutRedirect() sys.stdout = my_stdout ``` 之后的任何输出都会进入my_stdout的content里。 Any subsequent output will go into the content of my_stdout. 在所需重定向输出的代码结束后,只需将sys.stdout重定向回默认的输出流即可。 At the end of the code where you need to redirect the output, you just need to redirect sys.stdout back to the default output stream. ```python sys.stdout = sys.__stdout__ ``` 完整代码如下 The complete code is as follo...