美文网首页
Python3之打印操作打印流重定向(下)

Python3之打印操作打印流重定向(下)

作者: 若数 | 来源:发表于2019-05-25 21:47 被阅读0次
166.jpg

概述

当我们在Python的print打印时,我们到底在使用什么? 其实print语句不过是Python简便使用的特性体验而已,其背后就是sys.stdout对象的简单接口,即我们也可以利用sys.stdout完成所有print打印行为,比如打印Hello, world!

import sys
sys.stdout.write('Hello, world!')

示例结果:

Hello, world!

再者

import sys
s1 = 'Hello,'
s2 = 'world!'

print(s1, s2, end='\n')

sys.stdout.write(str(s1) + ' ' + str(s2) + '\n')

示例结果:

Hello, world!
Hello, world!

重定向输出流

我们已经知道print对sys.stdout的依赖,那么我们能否将sys.stdout赋值为标准输出流以外的东西,即将print的文字传送到其他地方。

import sys
s1 = 'Hello,'
s2 = 'world!'
sys.stdout = open('hello.txt', 'a')
...
print(s1, s2)
print(s2, s1)

hello.text内容:

Hello, world!
world! Hello,

可以看到标准输出流并没有打印任何信息,而需要被打印的内容全部被写入hello.txt文件中,这是为何? 因为我们把sys.stdout重设成已经打开的文件对象,重设之后,程序中所有的print都会将文字输出至文件hello.txt中,即进程中只有一个sys模块,通过这种方式就可以将所有的print进行重定向。当然我们也可以对单个print进行重定向,即上节介绍的print函数中的file参数完成重定向,这也是为何print定义file之后不会进行原始输出流的操作,即屏幕没有打印该次print函数的字符串信息。

相关文章

  • Python3之打印操作打印流重定向(下)

    概述 当我们在Python的print打印时,我们到底在使用什么? 其实print语句不过是Python简便使用的...

  • 打印流:

    打印流: 只能输出没有输入打印流分为字节打印流和字符打印流printwriter: 字符打印流特点 可以打印各种数...

  • 2019-03-26

    java——打印流: 打印流主要是用来输出信息的,主要分为字节打印流(PrintStream)和字符打印流(Pri...

  • 四十六、打印流

    一、打印流概述 打印流添加输出数据的功能,使它们能够方便地打印各种数据值表示形式.打印流根据流的分类: 字节打印流...

  • Java IO学习笔记六

    打印流 在整个IO包中,打印流是输出信息最方便的类,主要包含字节打印流(PrintStream)和字符打印流(Pr...

  • IO(打印流练习)

    打印流:该流提供了打印方法,可以将各种数据类型的数据都原样打印。 字节打印流:PrintStream构造函数可以接...

  • Java IO流(PrintWriter)

    打印流:该流提供了打印方法,可以将各种数据类型的数据都原样打印。 字节打印流:PrintStream构造函数可以接...

  • 从屌丝到架构师的飞越(IO流篇)-打印流

    一.介绍 打印流是输出信息最方便的类,注意包含字节打印流PrintStream和字符打印流:PrintWriter...

  • 打印流与管道流

    打印流: 这个流的主要作用就是打印文字,它的目标主要是文件,屏幕,网络。打印流属于输出流。它分为PrintStre...

  • IO流之 打印流

    打印流 核心代码无变化,所以不做多余记录 什么是打印流 使用方式【特有方法】

网友评论

      本文标题:Python3之打印操作打印流重定向(下)

      本文链接:https://www.haomeiwen.com/subject/jxtttctx.html