我发现了一个标题为"Print to standard console in curses“的问题。这里描述了一个使用对象的解决方案,该对象在关闭curse屏幕后替换sys.stdout打印到标准控制台。我测试了这个解决方案,并且工作正常,但是我想知道如何将内容打印到python shell?编程代码如下所示
class stdoutwrapper:
text=""
def write(self,txt):
self.text +=txt
self.text='\n'.join(self.text.split('\n')[-30:])
def get_text(self,beg,end):
return '\n'.join(self.text.split('\n')[beg:end])
if __name__=="__main__":
mystdout=stdoutwrapper()
sys.stdout=mystdout
sys.stderr=mystdout
print "bienvenido"
...........
..........
..........
...........
# Main program
processmenu(menu_data)
curses.endwin() #VITAL! This closes out the menu system and returns you to the bash prompt.
os.system('clear')
sys.stdout=sys.__stdout__
sys.stderr=sys.__stderr__
sys.stdout.write(mystdout.get_text(0,30))从curse界面退出后,进入标准控制台的输出为:
比恩维尼多
c:\users\casalino>
https://stackoverflow.com/questions/19074817
复制相似问题