首页 > 代码库 > python 之sys.stdout小记
python 之sys.stdout小记
标准输出(sys.stdout)——>print(打印)
标准输入(sys.stdin)——>input(接收输入)
标准错误输出和标准输出类似也是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打印到命令行了
本文出自 “运维日记” 博客,请务必保留此出处http://guyuyuan.blog.51cto.com/8666992/1941140
python 之sys.stdout小记
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。