On Sat, Sep 17, 2016 at 11:11 AM, João Matos <jcrma...@gmail.com> wrote: >On 17-09-2016 12:07, Oleg Broytman wrote: >> >> Pressing [Ctrl]+[L] works for me. > > Doesn't work on Windows.
Windows 10 added VT100 support to the console, so you can create a little cls() function to clear the screen: cls = lambda: print('\x1b[1J', end='', flush=True) VT100 support isn't enabled by default. However, cmd.exe always enables this mode. So run doskey.exe via os.system to enable VT100 mode while setting a convenient "cls" alias: import os os.system(r'doskey /exename=python.exe cls=cls()') This alias substitutes "cls()" for "cls" at the beginning of a line. This saves you from having to type "()" all the time. The alias isn't active for other programs; e.g. if you execute subprocess.call('powershell'), then "cls" will be the PowerShell alias for Clear-Host. You can also use ctypes instead of os.system and doskey.exe: import ctypes kernel32 = ctypes.WinDLL('kernel32') hStdOut = kernel32.GetStdHandle(-11) # enable VT100 mode mode = (ctypes.c_uint * 1)() kernel32.GetConsoleMode(hStdOut, mode) kernel32.SetConsoleMode(hStdOut, mode[0] | 4) # define a cls() function and set a console alias cls = lambda: print('\x1b[1J', end='', flush=True) kernel32.AddConsoleAliasW('cls', 'cls()', 'python.exe') For older versions of Windows you can use ANSICON or ConEmu, which use DLL injection to extend the console API. Python's colorama and pyreadline modules should also work for this. _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/