[Windows] clear screen in the Python shell
Problem
Under Linux, when using the Python shell, it’s very easy to clear the screen. Just press Ctrl+L. But what about Windows? Ctrl+L doesn’t work there :( Is there a painless way to clear the screen under Windows?
Solution
We’ll create a function called cls()
that will clear the screen. Usage example:
C:\> python
>>> a = 5
>>> cls()
For this, create a file called .pystartup
(the name doesn’t matter). Add the following function to it:
def cls():
"""
clear screen for Windows
"""
import os
cmd = 'cls' if os.name == 'nt' else 'clear'
os.system(cmd)
Create a new environment variable called PYTHONSTARTUP
and assign the path of .pystartup
to it. Example:
PYTHONSTARTUP=C:\opt\.pystartup
Open a new terminal. Now, if you start the Python shell, it’ll read the content of the file above. Thus, the function cls()
will be available in all your Python shell sessions.
It also works under Linux. You can add more utility functions to .pystartup
(however, I think it’s a good idea to keep it minimal).