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?

Was it helpful?

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top