展开全部

标准输出(sys.stdout)对应2113的操作就是print(打印5261)了,标准输入4102(sys.stdin)则对应input(接收输入)操作,标准错误输出和标准输1653出类似也是print(打印)。

python最基本的操作 - 打印:

print 1

其效果是把 1 写在console(命令行)里面让你看。

实际上他的操作可以理解为:把console(命令行)作为一个板子,通过sys.stdout = console指定往console板子上写东西(console是默认的,也就是说你不修改要往哪儿写的话,就会默认往这写),在print 1的时候,就是告诉python,我要写1,然后python就会去sys.stdout所指定的板子里,也就是console(命令行)里写上 1。

(标准错误输出也是同样的过程,你会发现当程序出错时,错误信息也会打印在console里面。)

其实只要一个对象具有write方法,就可以被当作“板子”,告诉sys.stdout去哪里写。

说道write方法,第一个想到的可能就是文件操作了。

f=open('log.txt','w')

想上面那样声明一个文件对象 f,此文件对象就拥有了write方法,就可以被用来当作标准输出和保准错误输出的板子。

f=open('log.txt','w')

__console__ = sys.stdout #把默认的“板子” - 命令行做个备份,以便可以改回来

sys.stdout = f

print 1

sys.stdout = __console__

print 2

上面的操作,通过sys.stdout = f 指定打印时的板子改成了 f。所以在使用print的时候,不再是把1打印在命令行里,而是写在了log.txt文件里面。

后面又把板子改成了命令行,此时print 2就又把2打印到命令行了

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

python stdout_python stdout 什么用相关推荐

  1. python stdout_python中stdout输出不缓存的设置方法

    考虑以下python程序: 复制代码 代码如下: #!/usr/bin/env python import sys sys.stdout.write("stdout1 ") sys ...

  2. python中stdout是什么意思_python中的Stdout编码

    是的,有一个很好的理由不启动所有的Python程序. 首先: 如果Python不知道stdout支持什么编码,则sys.stdout.encoding为None.在大多数情况下,这是因为它根本不支持任 ...

  3. python stdout_python 之sys.stdout小记

    标准输出(sys.stdout)-->print(打印) 标准输入(sys.stdin)-->input(接收输入) 标准错误输出和标准输出类似也是print(打印). python最基本 ...

  4. python stdout_python的stdout输出无缓存

    写扫描器的时候要实现在同一行不断变换文字的扫描状态效果,之前都是调用shell中的printf实现的,感觉比较二,今天正好又遇到这个问题,顺便解决下. print '123' sleep(1) pri ...

  5. Python sys.stdout

    当我们在 Python 中打印对象调用 print(obj) 时候,事实上是调用了 sys.stdout.write(obj+'\n') print 将你需要的内容打印到了控制台,然后追加了一个换行符 ...

  6. python stdout stderr_使用Python将stdout和stderr重定向到同一文件

    我想将Python脚本的标准错误和标准输出重定向到同一输出文件.从终端我可以使用 $python myfile.py &> out.txt 来完成我想要的任务,但是我需要从Python脚 ...

  7. python pipe stdout 实现cat|grep 功能

    从hdfs里获取希望的数据: import subprocessfor day in range(22, 23):for h in range(17, 24):filename = "met ...

  8. Python——sys.stdout.flush()方法的作用

    flush()的作用是刷新缓冲区. 缓冲区的刷新有三种:1,缓冲区满自动刷新:2,flush刷新:3,程序结束自动刷新 import time,sys def progress_bar(i):prin ...

  9. Python sys.stdout sys.stdin

    引用自:https://www.cnblogs.com/keye/p/7859181.html 引用自:https://blog.csdn.net/sxingming/article/details/ ...

最新文章

  1. 【python教程入门学习】学习Python可以做什么
  2. 三极管的耐压与hFE之间是什么关系?
  3. oracle 如何形成死锁,ORACLE死锁
  4. bean包、entity包、mode包、domain包的区别
  5. redis key设计技巧
  6. 数据库日志路径--数据库清理垃圾日志路径
  7. guestfish修改镜像内容
  8. e470c拆机图解全拆 thinkpad_THINKPAD e470硬盘拆解教程是?
  9. iOS音乐播放器(歌词自动滚动)
  10. linux光盘引导项,Linux制作grub引导光盘
  11. MongoDB分片集群部署(三)
  12. 开源进企业8月27日活动
  13. 在线直播源码是如何实现短信验证码登录的
  14. 开户要通过期货开户云办理
  15. xml的标记、元素和属性
  16. 计算机组成原理——计算机的发展历史
  17. Kafka 的七年之痒
  18. python连接sql server2008教程_Python连接SQL Server数据库
  19. STM32自平衡小车
  20. Java设计模式—状态模式

热门文章

  1. oracle nvarchar2使用场景,Oralce中VARCHAR2()与NVARCHAR2()的区别介绍
  2. Android技术面试整理
  3. Java集合类-Set
  4. CTFHub-.DS_Store-wp
  5. 如何用爬虫爬图,以百度图片为例
  6. 建设银行数据平台建设分享
  7. 今日还有9个红包封面可以领取!这东西当然越多越好!
  8. 送5本新出Spring Boot书籍!
  9. php explode函数 中文,php explode() 函数定义与用法汇总(2021)
  10. 块元素,行内元素,行内块元素及其元素转换