2

我不确定这是否是一个愚蠢的问题,但我真的找不到任何关于它的信息。我想知道在程序运行时是否以及如何从程序中删除以前的打印语句。这有点难以解释!这是一些示例代码:

while True:
    x = input('Where would you like to go? ')
    if x == 'home':
        print('You are at home.')
    elif x == 'field':
        print('You are at the field.')
    elif x == 'exit':
        break

这段代码并不重要。只是一个例子。当代码运行时,我们会收到一个问题:“你想去哪里?” 我们回答,“家”。然后打印语句打印“你在家”。并且循环再次迭代最初的问题:“你想去哪里?”。

所有这些文本现在都在它运行的窗口中,当我继续对程序进行操作时,它会逐渐增加,并且我在窗口底部输入的位置上方有大量文本。

有没有办法让这个程序运行这个问题,我输入说,'home',让它运行代码然后删除自己,这样程序运行的整个时间我都在屏幕顶部输入我的输入没有之前所有输入和输出的混乱?如果可以以更好的方式提出这个问题,我可以对其进行编辑。

4

3 回答 3

1

每次都需要清空终端。从python中的清除终端

import os
os.system( [ 'clear', 'cls' ][ os.name == 'nt' ] )
于 2013-01-08T07:43:46.197 回答
1

这取决于脚本在哪里运行。如果它在终端中运行,您可以使用os.system清除终端:

(Linux):os.system('clear')

(视窗):os.system('CLS')

如果您在 IDLE 中运行,那么您能做的最好的事情就是编写一个clear()函数来打印多个换行符。没有办法(据我所知)实际清除 IDLE 控制台。

于 2013-01-08T07:46:30.243 回答
1

如果你不想使用 Steve 的 list/bool hack -

os.system('cls' if os.name == 'nt' else 'clear')
于 2013-01-08T07:58:39.610 回答