对python-3-print重定向输出的几种方法总结

yipeiwu_com5年前Python基础

方法1:

import sys 
 
f=open('test.txt','a+') 
a='123' 
b='456' 
print >> f,a,b 
f.close() 

方法2:

import sys 
 
f=open('a.txt','w') 
old=sys.stdout #将当前系统输出储存到临时变量 
sys.stdout=f #输出重定向到文件 
print 'Hello World!' #测试一个打印输出 
sys.stdout=old  #还原系统输出 
f.close() 
print open('a.txt','r') # 错误的方法,仅用于查看输出,了解python 
print open('a.txt','r').read() 
import sys 
year=1 
years=15 
bj=10000 
rate=0.05 
f=open('total.txt','w+') 
while year < years: 
   bj=bj*(1+rate) 
   print >> f,"第%d年,本息合计%0.2f" % (year,bj) 
   year+=1 

方法3:

自行编写一个类,这个类只要有write函数,以模拟file类型就可以将系统输出重定向到其上。

class FakeOut: 
 def __init__(self): 
  self.str='' 
  self.n=0 
 def write(self,s): 
  self.str+="Out:[%s] %s\n"%(self.n,s) 
  self.n+=1 
 def show(self): #显示函数,非必须 
  print self.str 
 def clear(self): #清空函数,非必须 
  self.str='' 
  self.n=0 
f=FakeOut() 
import sys 
old=sys.stdout 
sys.stdout=f 
print 'Hello weird.' 
print 'Hello weird too.' 
sys.stdout=old 
f.show() 
# 输出: 
# Out:[0] Hello weird. 
# Out:[1] 
 
# Out:[2] Hello weird too. 
# Out:[3] 

以上这篇对python-3-print重定向输出的几种方法总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python socket网络编程之粘包问题详解

python socket网络编程之粘包问题详解

一,粘包问题详情 1,只有TCP有粘包现象,UDP永远不会粘包 你的程序实际上无权直接操作网卡的,你操作网卡都是通过操作系统给用户程序暴露出来的接口,那每次你的程序要给远程发数据时,...

python字符串,数值计算

Python是一种面向对象的语言,但它不像C++一样把标准类都封装到库中,而是进行了进一步的封装,语言本身就集成一些类和函数,比如print,list,dict etc. 给编程带来很大...

Python中用函数作为返回值和实现闭包的教程

函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。 我们来实现一个可变参数的求和。通常情况下,求和的函数是这样定义的: def calc_sum(*ar...

Python cookbook(数据结构与算法)实现优先级队列的方法示例

本文实例讲述了Python实现优先级队列的方法。分享给大家供大家参考,具体如下: 问题:要实现一个队列,它能够以给定的优先级对元素排序,且每次pop操作时都会返回优先级最高的那个元素;...

Python 判断文件或目录是否存在的实例代码

使用 os 模块 判断文件是否存在 os.path.isfile(path) 判断目录是否存在 os.path.isdir(path) 判断路径是否存在 # 使用 path 模块 o...