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

方法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重定向输出的几种方法总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python实现获取命令行输出结果的方法

    本文实例讲述了Python实现获取命令行输出结果的方法.分享给大家供大家参考,具体如下: Python获取命令行输出结果,并对结果进行过滤找到自己需要的! 这里以获取本机MAC地址和IP地址为例! # coding: GB2312 import os, re # execute command, and return the output def execCmd(cmd): r = os.popen(cmd) text = r.read() r.close() return text # wri

  • python3.4控制用户输入与输出的方法

    一.输入 1.函数格式:input() 2.函数功能:接受一个标准输入数据,返回string类型.ctrl+z结束输入. 3.实例: 默认input():等待一个任意字符的输入 str=input('input a string:\n'):接受输入数据作为string类型传给str,\n为提示信息换行. 4.接受多个数据输入,使用eval()函数,间隔符必须是逗号 >>> lines ['', '', '', '84', '2', '3', ''] >>> a,b,c=

  • python 在屏幕上逐字显示一行字的实例

    如下所示: #-*- coding: utf-8 -*- #code:myhaspl@qq.com #12-1.py import sys reload(sys) sys.setdefaultencoding("gbk") import sys,time def print_one_by_one(text):     sys.stdout.write("\r " + " " * 60 + "\r") # /r 光标回到行首  

  • python中使用print输出中文的方法

    看Python简明教程,学习使用print打印字符串,试了下打印中文,不行. 编辑环境:IDLE 上网搜了下解决办法,各种说法,试了两种: print u"学习" print (unicode("学习", encoding="utf-8")) 保存时均还是会提示 shell输出: ѧϰ ѧϰ 说明第二种还是有编码但还是不对. 最后,加上最前面一行就好了,虽然现在还不明白第一行为什么,不是说#是注释么... # encoding: utf-8

  • python实现中文输出的两种方法

    本文实例讲述了python实现中文输出的两种方法.分享给大家供大家参考.具体如下: 方法一: 用encode和decode 如: import os.path import xlrd,sys Filename='/home/tom/Desktop/1234.xls' if not os.path.isfile(Filename): raise NameError,"%s is not a valid filename"%Filename bk=xlrd.open_workbook(Fi

  • python3实现逐字输出的方法

    如下所示: import sys,time def print_one_by_one(text):     sys.stdout.write("\r " + " " * 60 + "\r") # /r 光标回到行首     sys.stdout.flush() #把缓冲区全部输出     for c in text:         sys.stdout.write(c)         sys.stdout.flush()         ti

  • Python实现字符串格式化输出的方法详解

    本文实例讲述了Python实现字符串格式化输出的方法.分享给大家供大家参考,具体如下: python属于强类型的语言,如果像java一样操作字符串和数字的"+"时,会出现TypeError.而python的格式化方法有多种,比如使用占位符,使用format,或者是自定义模版等等.这里介绍了其中的几种方法 下面这个例子很好的说明了python属于强类型语言: print "abc" + 123 Traceback (most recent call last): Fi

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

    方法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.

  • python中print格式化输出的问题

    前言 福宝们,下午好啊.改版后的第4.5章阅读量有点少呀,不知道是不是拖更了一天的缘故.呜呜呜,以后一定要做个不拖更的好熊,所以今天继续爆肝第五章:print格式化输出.在写第三章的时候用到过其中一种: " f - {} " 的组合.之前的评论下面有小伙伴疑惑,那今天就来详细讲解一下这个东西,另外还有其他格式化的方式.那我们开始今天的学习吧. 提示:以下是本篇文章正文内容,下面案例可供参考 一.f-String格式化 所谓格式化输出,就是创建一个可以嵌入变量内容的字符串.如果不进行格式

  • Python爬虫后获取重定向url的两种方法

    下面给大家分享Python爬虫后获取重定向url的两种方法,具体内容如下所示: 方法(一) # 获得重定向url from urllib import request # https://zhidao.baidu.com/question/681501874175782812.html url = "https://www.baidu.com/link?url=IscBx0u8h9q4Uq3ihTs_PqnoNWe7slVWAd2dowQKrnqJedvthb3zrh9JqcMJu3ZqFrbW

  • 对python中执行DOS命令的3种方法总结

    1. 使用os.system("cmd") 特点是执行的时候程序会打出cmd在Linux上执行的信息. import os os.system("ls") 2. 使用Popen模块产生新的process 现在大部分人都喜欢使用Popen.Popen方法不会打印出cmd在linux上执行的信息.的确,Popen非常强大,支持多种参数和模式.使用前需要from subprocess import Popen, PIPE.但是Popen函数有一个缺陷,就是它是一个阻塞的方

  • python中调试或排错的五种方法示例

    前言 本文主要给大家介绍了关于python中调试或排错的五种方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的的介绍吧 python调试或排错的五种方法 1.print,直接打印,比较简单而且粗暴 在代码中直接输入print+需要输出的结果,根据打印的内容判断即可 2.assert断言,很方便,测试人员常常在写自动化用例的时候用的比较多 如下,直接将预期结果和实际结果做判断 def true_code(): x = 3 y = 2 z = x + y assert(5==z), "z

  • python实现杨辉三角的几种方法代码实例

    方法一:迭代 def triangle_1(x): """ :param x: 需要生成的杨辉三角行数 :return: """ triangle = [[1], [1, 1]] # 初始化杨辉三角 n = 3 # 从第三行开始计数,逐行添加 while n <= x: for i in range(0, n-1): if i == 0: # 添加初始列表[1,1],杨辉三角每行的首位和末位必为1 triangle.append([1, 1

  • python反转(逆序)字符串的6种方法详细

    对于一个给定的字符串,逆序输出,这个任务对于python来说是一种很简单的操作,毕竟强大的列表和字符串处理的一些列函数足以应付这些问题 了,今天总结了一下python中对于字符串的逆序输出的几种常用的方法 方法一:直接使用字符串切片功能逆转字符串 >>> def strReverse(strDemo): return strDemo[::-1] >>> print(strReverse('jb51.net')) ten.15bj 结果: ten.15bj 方法二:遍历构

  • Python比较两个日期的两种方法详解

    目录 datetime strptime 之前我们曾经分享过:Python获取某一日期是“星期几”的6种方法!实际上,在我们使用Python处理日期/时间的时候,经常会遇到各种各样的问题.今天我们就来探讨另一个问题,如何用Python比较两个日期? datetime 如果需要用Python处理日期和时间,大家肯定会先想到datetime.time.calendar等模块.在这其中,datetime模块主要是用来表示日期时间的,就是我们常说的年月日/时分秒. datetime模块中常用的类: 类名

  • python文件读取read及readlines两种方法使用详解

    目录 引言 .read([size])方法 .readlines()方法 引言 with open() as 和open()都是打开,还没有读入文件 假设test.fa的内容如下图所示: ACGACGTAGCGTAGCTACGATCAGCGACGAGCTAGCGACGA .read([size])方法 read([size])方法从文件当前位置起读取size个字节,若无参数size,则表示读取至文件结束为止,它返回字符串对象. with open('test.fa') as fa: f = fa

随机推荐