Python 控制台应用程序 - 输入行上方的输出

Posted

技术标签:

【中文标题】Python 控制台应用程序 - 输入行上方的输出【英文标题】:Python console application - output above input line 【发布时间】:2012-12-27 08:07:37 【问题描述】:

我正在尝试用 Python3 编写控制台应用程序。

问题是我希望所有输出消息 EG: print("Status message") 都位于底部输入行的上方。

Status message 1
Status message 2
Status message 3
Console:> I want to type here while the output messages displayed

现在看起来更像这样

Console:>  want to type here while the outStatus message 1
put messages displayed

有没有不使用诅咒的方法?

【问题讨论】:

【参考方案1】:

试试这个:

print chr(27)+'[2AOutput'

希望这是您的要求。

抱歉,以上内容适用于 Python 2.7。我不确定是否是 Python 3 版本

print(chr(27)+'[2AOutput')

行不通。

参考: http://en.wikipedia.org/wiki/ANSI_escape_code

【讨论】:

这将删除积压输出的功能。如果您希望保留该功能,您可以执行以下操作: print('\e[A\e[kOutput\nCurrent state of the prompt', end='') \e[A 将光标移动到最后打印的字符串 (应该是Console:>...)。 \e[k 清除该行,然后用新输出替换它,然后重新打印Console:>... 并准备从输入中接收更多值。有可能应该跳过\e[A

以上是关于Python 控制台应用程序 - 输入行上方的输出的主要内容,如果未能解决你的问题,请参考以下文章

在 python 中控制 ruby​​ 程序的标准输入和标准输出

Go-输入输出总结及oj的输入输出

python怎么换行输入 python换行输入的方法

如何在命令行中将输出重定向为输入?

python基础知识

2017-2-17 c#基础学习 (控制台程序的创建,输出,输入,定义变量,变量赋值,值覆盖,值拼接,值打印)