sys.stdout的应用,Python标准输出sys.stdout的重定向
2016-01-19 15:10
656 查看
#本文纯菜鸟,所有博客为个人学习记录所用。不对的地方希望大家多多指教。
sys.stdout : standard output file object; used by print()
sys._stdout_ : the original stdout; don't touch!
从sys的help文档中对sys.stdout的定义得知,sys.stdout 中存储的是输出去向的引用。比如说sys.stdout默认指向的是cmd的窗口([1]中称之为"控制台(console)",我个人理解“控制台”指的就是cmd窗口)。
当我们在Python中打印一个对象时print (obj),实际上是调用了 sys.stdout.write(obj+'\n')。
print将需要的内容打印到控制台,然后追加一个换行符。
以下两行实际上是等价的:
下面给出一个使用sys.stdout的例子:
默认情况下,sys.stdout指向的控制台,help(string)会将string的帮助文档输出到cmd窗口上。若将sys.stdout指向被以“w”方式打开的文件“help_for_string.log”时,本该输出到cmd界面的内容被输出到(“w”)文件中。使用print()同样可以将某内容
参考:
[1] Python标准输出sys.stdout重定向
/article/7089914.html
sys.stdout : standard output file object; used by print()
sys._stdout_ : the original stdout; don't touch!
从sys的help文档中对sys.stdout的定义得知,sys.stdout 中存储的是输出去向的引用。比如说sys.stdout默认指向的是cmd的窗口([1]中称之为"控制台(console)",我个人理解“控制台”指的就是cmd窗口)。
当我们在Python中打印一个对象时print (obj),实际上是调用了 sys.stdout.write(obj+'\n')。
print将需要的内容打印到控制台,然后追加一个换行符。
以下两行实际上是等价的:
sys.stdout.write('hello'+'\n') print 'hello'
下面给出一个使用sys.stdout的例子:
#coding=gbk #将模块string的help文档保存到名为”help_for_string.log“的文件中 import sys,string f = open('d:\\help_for_string.log','w') sys.stdout = f help(string) f.close() sys.stdout=sys.__stdout__ #两个下划线__stdout__
默认情况下,sys.stdout指向的控制台,help(string)会将string的帮助文档输出到cmd窗口上。若将sys.stdout指向被以“w”方式打开的文件“help_for_string.log”时,本该输出到cmd界面的内容被输出到(“w”)文件中。使用print()同样可以将某内容
参考:
[1] Python标准输出sys.stdout重定向
/article/7089914.html
相关文章推荐
- Python编程中的文件读写及相关的文件对象方法讲解
- day12 python学习随笔 上
- python数据处理工具 pandas包常用方法总结(持续更新)
- Python常用内建模块
- Python使用os模块和fileinput模块来操作文件目录
- python(1) - 列表和元组
- 举例讲解Python面相对象编程中对象的属性与类的方法
- flask源码剖析之工作流程
- [转载]python学习之argparse模块
- python学习之 -- xml.etree.ElementTree解析xml
- Python脚本运行出现语法错误:IndentationError:unexpected indent
- Python Lib
- Python 装饰器( Decorator)
- 使用Python发送带附件的邮件
- Python算法题----列表去重
- python第三方库系列之二十六--不知道被谁删了微信好友
- Python序列之元组 (tuple)
- python 函数
- 33. Search in Rotated Sorted Array leetcode python 2016 new season
- Python 的socke编程示例