python重定向打印
时间: 2023-09-03 15:09:24 浏览: 74
在 Python 中可以使用重定向打印来将程序中的输出重定向到文件或者其他设备上,例如标准输出流、标准错误流等。
下面是一些常见的方法:
1. 使用 sys 模块的 stdout 和 stderr 属性
```python
import sys
# 重定向 stdout
sys.stdout = open('out.txt', 'w')
# 重定向 stderr
sys.stderr = open('err.txt', 'w')
# 恢复 stdout 和 stderr
sys.stdout = sys.__stdout__
sys.stderr = sys.__stderr__
```
2. 使用 contextlib 模块的 redirect_stdout 和 redirect_stderr 函数
```python
from contextlib import redirect_stdout, redirect_stderr
# 重定向 stdout
with open('out.txt', 'w') as f:
with redirect_stdout(f):
print('Hello, world!')
# 重定向 stderr
with open('err.txt', 'w') as f:
with redirect_stderr(f):
print('Error message!')
# 不需要恢复 stdout 和 stderr
```
注意,使用这种方法可以方便地将输出重定向到文件或者其他设备上,但是无法重定向其他程序或者操作系统级别的输出。