I am running on Python 3.7.1 and I've been trying to find a way to clear a screen of any previously printed messages. The problem is that os.system("cls")
does nothing, it only makes a small window pop up for a fraction of a second, then it closes. I've tried to add a \n at the end and multiplying it by how many letters there are, still not working.
Asked
Active
Viewed 954 times
0

braX
- 11,506
- 5
- 20
- 33

luka bozic
- 1
- 3
-
1Are you running python on a terminal? Also are you using windows or linux? – Lokesh Mar 01 '19 at 11:14
2 Answers
0
Unfortunately, there’s no built-in keyword or function/method to clear the screen. So, we do it on our own.
We can use ANSI escape sequence but these are not portable and might not produce desired output.
# import only system from os
from os import system, name
# import sleep to show output for some time period
from time import sleep
# define our clear function
def clear():
# for windows
if name == 'nt':
_ = system('cls')
# for mac and linux(here, os.name is 'posix')
else:
_ = system('clear')
# print out some text
print('hello geeks\n'*10)
# sleep for 2 seconds after printing output
sleep(2)
# now call function we defined above
clear()

techdoodle
- 85
- 6
-1
I don't think that there is a way, or at least have never seen one. However, there is a workaround which would look like
print "\n" * 100
.
This will simply print 100 newlines, which will clear the screen for you.
You could also put it in a function
def cls(): print "\n" * 100
And then when you need it just call it with cls()

ech0
- 512
- 4
- 14