Archive
[Windows] clear screen in the Python shell
Update (20250429)
Ctrl+L works under Windows since Python 3.13. Python 3.13 got an improved shell that supports this shortcut.
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).
