不影响控制台本身输出,获取python控制台输出内容
时间: 2023-06-16 09:06:51 浏览: 99
获取控制台输出
4星 · 用户满意度95%
可以使用sys模块中的stdout和stderr来获取控制台输出内容。示例代码如下:
```python
import sys
# 重定向stdout和stderr到缓存
sys.stdout = sys.stderr = mystdout = StringIO()
# 执行一些代码,产生一些输出
print("Hello, world!")
x = 10 / 0
print("This line will not be executed.")
# 获取控制台输出内容
output = mystdout.getvalue()
print(output)
```
在上述代码中,我们重定向了stdout和stderr到一个StringIO对象中,这样所有的控制台输出都会被缓存到这个对象中。我们可以通过调用StringIO对象的getvalue()方法来获取缓存的内容。注意,这种方法只能获取到Python程序自身产生的输出,无法获取到其他程序或操作系统产生的输出。
阅读全文