用法:
contextlib.redirect_stdout(new_target)
用于临时将
sys.stdout
重定向到另一个文件或file-like 对象的上下文管理器。该工具为输出硬连线到标准输出的现有函数或类增加了灵活性。
例如,
help()
的输出通常被发送到sys.stdout
。您可以通过将输出重定向到io.StringIO
对象来捕获字符串中的输出。替换流从__enter__
方法返回,因此可用作with
语句的目标:with redirect_stdout(io.StringIO()) as f: help(pow) s = f.getvalue()
要将
help()
的输出发送到磁盘上的文件,请将输出重定向到常规文件:with open('help.txt', 'w') as f: with redirect_stdout(f): help(pow)
要将
help()
的输出发送到sys.stderr
:with redirect_stdout(sys.stderr): help(pow)
请注意,
sys.stdout
的全局副作用意味着此上下文管理器不适合在库代码和大多数线程应用程序中使用。它对子流程的输出也没有影响。但是,对于许多实用程序脚本来说,它仍然是一种有用的方法。这个上下文管理器是可重入的。
3.4 版中的新函数。
相关用法
- Python contextlib.AsyncContextDecorator用法及代码示例
- Python contextlib.AsyncExitStack用法及代码示例
- Python contextlib.ExitStack.pop_all用法及代码示例
- Python contextlib.aclosing用法及代码示例
- Python contextlib.ExitStack用法及代码示例
- Python contextlib.contextmanager用法及代码示例
- Python contextlib.closing用法及代码示例
- Python contextlib.nullcontext用法及代码示例
- Python contextlib.ContextDecorator用法及代码示例
- Python contextlib.suppress用法及代码示例
- Python contextvars.ContextVar.reset用法及代码示例
- Python contextvars.Context.run用法及代码示例
- Python configparser.ConfigParser.readfp用法及代码示例
- Python configparser.ConfigParser.BOOLEAN_STATES用法及代码示例
- Python configparser.BasicInterpolation用法及代码示例
- Python configparser.ExtendedInterpolation用法及代码示例
- Python configparser.ConfigParser.SECTCRE用法及代码示例
- Python configparser.ConfigParser.read用法及代码示例
- Python collections.somenamedtuple._replace用法及代码示例
- Python collections.somenamedtuple._asdict用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 contextlib.redirect_stdout。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。