Why is there no platform independent way of clearing a terminal?

Jonathan Hartley tartley at tartley.com
Wed Jul 28 11:45:46 EDT 2010


On Jul 28, 8:08 am, Ulrich Eckhardt <eckha... at satorlaser.com> wrote:
> Daniel Fetchinson wrote:
> > After getting the technicalities out of the way, maybe I should have
> > asked:
>
> > Is it only me or others would find a platform independent python API
> > to clear the terminal useful?
>
> There are two kinds of programs:
> 1. Those that process input to output. If one of those suddenly started by
> clearing my screen, I'd just dump it. Also, if output is redirected to a
> file or piped into another program, that is basically useless or even
> hurting, since you then end up with control sequences in the file.
>
> 2. Those that provide a text-based interactive UI. Those typically not only
> clear the screen, but also control its whole layout and content, so there
> you don't only need ways to clear the screen but also to position the
> cursor or draw boxes etc. In that case you need a full "curses" library.
>
> Summary: No, I don't see the need for such an API.
>
> Cheers!
>
> Uli
>
> --
> Sator Laser GmbH
> Geschäftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932


Hey,

Your point seems good and I don't mean to contradict, but out of
interest, what do you think about an example like the following:

I want to write a quick script which, notices whenever I save my
source code, and re-runs the unit tests, displaying the output. I
think I'd like it to clear the terminal before each re-run of the
tests, so that it's immediately obvious what is output from the
current run, as opposed to previous runs. Then I can keep my editor
focussed, but leave that running in a terminal and trust it to simply
display the current output from my tests.

I did dash off a quick and dirty version of this once which did a
system 'clear' or 'cls' depending on the platform, but to my dismay I
found that on Windows this caused focus to jump briefly to the
terminal every time it ran 'clear' (!), making it extremely annoying
in use. So I wished there had been a simple cross-platform way to
clear the terminal. (this, and printing colored text, was my initial
use case for starting 'colorama')

Is this a silly desire of mine, or simply an uncommon edge case that
therefore isn't really significant?

Best regards,

  Jonathan



More information about the Python-list mailing list