Clear command line output from Python [Eclipse]
Question
I'm using Eclipse for writing Python, and I want to be able to easily clear the screen. I've seen this question, and tried (among other things suggested there) the following solution
import os
def clear():
os.system('cls' if os.name == 'nt' else 'clear')
but it doesn't entirely solve my problem. Instead of clearing the screen, the routine prints a small square (as if wanting to print an unknown character) to the command output window in Eclipse.
Typing cls
in the command line works perfectly fine, as does running a Python script with the above code from command line. But how can I make it look nice in Eclipse as well?
Solution
The problem with running it in eclipse is that cls
uses ANSI escape sequences to clear the screen. What I mean by this is that to clear the screen, cls
writes a string such as "\033[[80;j"
to the output buffer. The native console (the one outside of eclipse) interprets this as a command to clear the screen, but the eclipse console doesn't understand it, so just prints a small square as if printing an unknown character.
OTHER TIPS
Clearing in outputs is actually not possible. The best hack is to print full of line breaks. IDEs like Eclipse never simulate terminals properly.
As its just eclipse problem I suppose it will not affect your final product if you want to clean your final users' screen while for eclipse environment there is a little button in top-right of the console screen which enables you from cleaning it.