Python基础教程讲解——print输出重定向介绍,奥利戈

本文是关于Python基础教程的讲解,主要介绍了如何使用print()进行输出以及如何重定向print输出到文本文件。内容包括sys.stdout、sys.stderr的基本概念,以及通过设置sys.stdout实现输出重定向的方法。此外,还提到了Python 3.4引入的contextlib.redirect_stdout上下文管理器用于重定向输出的优雅方式。
摘要由CSDN通过智能技术生成

本期的Python基础教程给大家讲print输出相关知识点,敲黑板听课了!

Python中调试程序使用最多的是print(),在使用print()打印时事实上是调用了 sys.stdout.write()。不过print在把内容打印到控制台后,追加了一个换行符(linefeed)。以下例程中,print和sys.stdout.write()是等价的:

在Python中, sys.stdin、sys.stdout和sys.stderr分别对应解释器的标准输入、标准输出和标准出错流。在程序启动时,这些对象的初值由sys.stdin、sys.__stdout__和sys.__stderr__保存,比便于恢复标准流对象。如下所示:

如果我们要把内容重定向到文本中去时,该如何操作呢?我们先看下普通的文本对象和标准输出对象的区别。如下所示:

可见两者都属于文件对象,其中所包含的方法也都相同,比如write、read等等。所以,如果把文件对象的引用赋值给sys.stdout,那么print调用的即为文件对象的write方法,这样就实现了重定向。其实在之前的Python基础教程中有跟大家讲古。代码如下所示:

重定向后,print打印的内容就从控制台搬到了文本上了,如下所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hpTnqHv3-1587973935871)(https://upload-images.jianshu.io/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值