脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - 对python3-print重定向输出的几种方法总结

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

2021-02-20 00:18挣点生活费的小落落 Python

今天小编就为大家分享一篇对python3-print重定向输出的几种方法总结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

方法1:

?
1
2
3
4
5
6
7
import sys
 
f=open('test.txt','a+')
a='123'
b='456'
print >> f,a,b
f.close()

方法2:

?
1
2
3
4
5
6
7
8
9
10
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()
?
1
2
3
4
5
6
7
8
9
10
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类型就可以将系统输出重定向到其上。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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]

以上这篇对python3-print重定向输出的几种方法总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/qq_35528593/article/details/74453104

延伸 · 阅读

精彩推荐