2017-06-09 36 views
1
office_list = [] 
print("Type in your office supplies.\nEnter 'DONE' to print out your list.\n--------------------\n") 

while True: 
    list = input("> ") 
    if list == 'DONE': 
    break 
    office_list.append(list) 

print("Here is your list\n--------------------\n") 

for ls in office_list: 
    print(ls) 

我一直在试图找到这个在线,但似乎有麻烦,试图找到正确的词汇我相信。在打印列表之前,如何让程序清除控制台清洁?

我想让程序做的事情很清楚我写了什么来制作列表然后打印列表。现在在程序中发生的事情是,当我输入单词“完成”时,它会在列表顶部输入文字并打印出来。

+0

可能重复的[如何清除解释器控制台?](https://stackoverflow.com/questions/517970/how-to-clear-the-interpreter-console) – JakeD

+0

也许最好是运行'clear && python foo.py' – slezica

+0

@slezica我需要在程序运行时清除文本。不是当我尝试启动程序时。 –

回答

0

只是打印足够换行符这样的:

print('\n' * 50) 

它不会伤害打印出太多的线条控制台应用程序,因为这将在所有的分裂发生第二次。这种方法是跨平台的,应该可以在几乎任何环境下工作。

操作系统级别的答案实际上做同样的事情,但操作系统知道究竟要打印多少行。如果您不关心隐藏屏幕上显示的确切行数,只需打印出足够的数据(在合理范围内)即可清除控制台。

+0

啊,我明白你的意思了。我在使用操作系统级别的答案atm时仍然遇到问题。我现在不妨使用print('\ n'* 50)。我将不得不在今天学习操作系统命令。 –

1

使用os模块,您可以运行shell命令。要清除在Linux/MacOS的,你可以使用clear命令控制台,在Windows上有cls

import os 
import sys 

def clear(): 
    if sys.platform == 'windows': 
     os.system('cls') 
    else: 
     os.system('clear') 
+0

有一个systaxError:语法无效。这是因为团队树屋不支持这个吗? –

+0

试试这个@RussellAlson – enedil

+0

好吧。我会看看它是否有效 –

2

可以使用os模块。在* nix下,您可以在Windows下使用os.system('clear')os.system('cls')

+1

此外,您可以编程方式确定您使用'sys.platform'运行的操作系统。然后你可以决定你是否应该使用'cls' o'clear' – DarkCygnus

+0

@GrayCygnus更好的使用'os.name':https://stackoverflow.com/a/18476686/6655092 – JakeD

+0

我得到一个syntaxError。在团队树屋中使用工作空间会成为问题吗? –