[Python,print]如何获取python print语句打印到console的值?

问题描述

大家好,我的问题是这样的:我在调用一个函数solve()的过程中,这个函数会不停的向console打印值,但是这个函数不是我写的,我只能从外部看到这些打印出来的语句而无法获得他的值。现在的问题是,这个solve函数可能会执行3分钟甚至更长,在这期间我需要给软件的用户反馈信息,比如在tk编程里面把这些执行过程中的信息输出到一个textarea控件里,我该如何做?不然用户一定以为程序死掉了..很关键的一个问题是,执行到solve这个函数以后程序就停在这里了,即使我能获得print语句输出的值,也要等solve执行完再一股脑放到textarea里,这不是我想要的效果。各位高手,我该怎么做?给出点思路也好,谢谢!! [size=large]

解决方案

因为print是输出到sys.out里面, 所以主要思路就是替换标准的输出, 写了一个例子供你参考:# coding: utf-8class TextArea(object): def __init__(self): self.buffer = [] def write(self, *args, **kwargs): self.buffer.append(args)import sysstdout = sys.stdoutsys.stdout = TextArea()# print to TextAreaprint "testA"print "testB"print "testC"text_area, sys.stdout = sys.stdout, stdout# print to consoleprint text_area.buffer

时间: 2024-12-04 00:26:07

[Python,print]如何获取python print语句打印到console的值?的相关文章

python 抓包 获取网页中viewstate参数和eventvalidation的值

问题描述 python 抓包 获取网页中viewstate参数和eventvalidation的值 安徽水旱情信息网http://shangqing.wswj.net/TYFW/InfoQuery/HeDao.aspx,里面有 各个站点的水情信息,选好条件后查询,每个站点的信息大概有2000多页,之前写了一个Python程序(通过httplib,pyquery)可以自动下载这些数据.但问题是:比如要下载宜昌站的数据,点击查询后进入详情页即'...HeDao1.aspx',随便点击一个页码,然后通

Python 3.x中使用print函数出现语法错误(SyntaxError: invalid syntax)的原因

在安装了最新版本的Python 3.x版本之后, 去参考别人的代码(基于Python 2.x写的教程),去利用print函数,打印输出内容时,结果却遇到print函数的语法错误: SyntaxError: invalid syntax 这是因为Python 2.x升级到Python 3.x,print函数的语法变化了,所以用Python 2.x的print函数的代码,放在Python 3.x中运行,结果就出现了print函数的"SyntaxError: invalid syntax"了

Python基本语法_输入/输出语句详解

目录 目录 前言 输入 raw_input input raw_input 和 input 的区别 输出 print print 基本格式化输出 print复杂格式化输出 flags标志位 width宽度 precision精度 dictionaryName字典 print自动换行底层实现 最后 前言 程序最基本需要的两个要素,一个是数据,另外一个便是逻辑.而控制语句在程序中扮演的角色便是实现程序的逻辑,即数据的导向和对数据的操作.当然,这并不代表,程序中的数据的行为只能通过控制语句来实.但在P

java、python、JavaScript以及jquery循环语句的区别_java

一.概述        python中循环语句有两种,while,for: JavaScript中循环语句有四种,while,do/while,for,for/in jQuery循环语句each 二.java 循环语句          a.while                 while 的语法为: while(条件语句){ 代码块 }           或者: while (条件语句) 代码; while的含义非常简单,只要条件语句为真,就一直执行后面的代码,为假就停止不做了.例如:

python实现批量获取指定文件夹下的所有文件的厂商信息_python

本文实例讲述了python实现批量获取指定文件夹下的所有文件的厂商信息的方法.分享给大家供大家参考.具体如下: 功能代码如下: import os, string, shutil,re import pefile import codecs, sys import wx import struct #输出中打印Unicode字符 #sys.stdout = codecs.lookup('utf-8')[-1](sys.stdout) def addToDict(theDict,PEfile_Pa

Python中动态获取对象的属性和方法的教程_python

首先通过一个例子来看一下本文中可能用到的对象和相关概念. #coding: UTF-8 import sys # 模块,sys指向这个模块对象 import inspect def foo(): pass # 函数,foo指向这个函数对象 class Cat(object): # 类,Cat指向这个类对象 def __init__(self, name='kitty'): self.name = name def sayHi(self): # 实例方法,sayHi指向这个方法对象,使用类或实例.

python 分支,循环,条件语句用法

python 分支,循环,条件语句用法 我学习了两种数据类型,1种是数字,1种是字符串.数字可以做数学运算,字符串呢可以处 理文本信息.其中数字又分为,整数,浮点数.字符串当然就是字符串了.整数,浮点数就 是描述数字的数据类型.然后呢,要做一些有意义的事情的话,就需要把这些组合起来进行 一些处理了(就是表达式了).还要注意,python解释器在做解释之前做了数据类型的检查 ,比如数字和字符串是不能相加的,如果要相加必须用str()等函数转换为字符串才行哦.但 是为什么python解释器不默认把这

python 打印对象的所有属性值的方法_python

如下所示: def prn_obj(obj): print '\n'.join(['%s:%s' % item for item in obj.__dict__.items()]) 以上这篇python 打印对象的所有属性值的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持. 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索python 打印对象属性 python打印对象属性.python 打印

Python通过PIL获取图片主要颜色并和颜色库进行对比的方法

 这篇文章主要介绍了Python通过PIL获取图片主要颜色并和颜色库进行对比的方法,实例分析了Python通过PIL模块操作图片的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了Python通过PIL获取图片主要颜色并和颜色库进行对比的方法.分享给大家供大家参考.具体分析如下: 这段代码主要用来从图片提取其主要颜色,类似Goolge和Baidu的图片搜索时可以指定按照颜色搜索,所以我们先需要将每张图片的主要颜色提取出来,然后将颜色划分到与其最接近的颜色段上,然后就可以按照