views:

386

answers:

2

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?

+1  A: 

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.

Joe D
A: 

Clearing in outputs is actually not possible. The best hack is to print full of line breaks. IDEs like Eclipse never simulate terminals properly.

SHiNKiROU