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方法,就可以被用来当作标准输出和保准错误输出的板子。


1
2
3
4
5
6
7
8
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打印到命令行了



本文转自 奚落123 51CTO博客,原文链接:http://blog.51cto.com/guyuyuan/1941140,如需转载请自行联系原作者


相关文章
|
1天前
|
开发者 Python
Python的sys模块详解
Python的sys模块详解
10 0
|
24天前
|
开发者 Python
python模块之sys
`sys`模块提供了许多与Python解释器和运行环境相关的功能,使得开发者可以更好地控制和管理Python程序的执行。
13 0
|
6月前
|
存储 Python
Python教程:sys.stdout方法
Python教程:sys.stdout方法
60 0
|
8月前
|
Python
python-- sys 模块
python-- sys 模块
|
8月前
|
移动开发 Unix Linux
Python里的OS与SYS
Python里的OS与SYS
55 0
python——sys模块(2)
python——sys模块(2)
|
存储 Linux Python
python sys模块详解
python sys模块详解
|
程序员 Python
|
开发工具 git Python
Python 中的 sys.argv 是个什么鬼?
最近在 github 上 git 别人的代码下来学习 ,其中有一个 face-detection 相关的代码 ,就涉及了 sys.argv ,并且运行后是这个样子~
101 0
Python 中的 sys.argv 是个什么鬼?

热门文章

最新文章