Python 3中Print输出重定向的几种实现方案
本文总结了Python 3中实现print输出重定向的三种主要方法。包括直接通过文件对象写入、利用sys模块临时重定向标准输出流,以及通过编写包含write方法的自定义类来捕获输出。文章提供了具体的代码示例和操作步骤,帮助开发者在不同场景下灵活处理程序输出。
Python 3 Print重定向方法概述
方法1:
方法一:直接写入文件对象
import sys
f=open('test.txt','a+')
a='123'
b='456'
print >> f,a,b
f.close()
方法2:
方法二:利用sys模块重定向标准输出
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方法,从而模拟文件类型对象的行为,使系统输出能够被重定向至该实例。
方法三:通过自定义类模拟文件行为
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重定向输出的几种方法总结即为分享的全部内容,希望能为读者提供有价值的参考,同时也欢迎大家继续支持本站获取更多信息。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













