Consoles ======== This module has a ``Console`` class for dealing with consoles. It allows you to read from and write to consoles, as well as kill and start them. The ``get_consoles`` method in the ``User`` object is a generator that yields ``Console`` objects representing all of the consoles the user owns. Every console on PythonAnywhere is started with an executable name, arguments, and working directory: - The executable name is the command used to start the console, and when this executable stops running, the console is closed. For example, Bash console have ``bash`` set as the executable. - The arguments specify the command line arguments passed to the executable. For example, if you want to start a Bash console with verbose mode enabled, you can set arguments to ``'--verbose'``. - The working directory specifies the initial working directory the console runs in. When you start a console using the PythonAnywhere website, this is always set to your home directory. Reading from and writing to consoles ------------------------------------ ``Console`` objects have two methods for I/O: ``get_latest_output`` and ``send_input``. According to the official API help page, ``get_latest_output`` gives you approximately the 500 most recent characters of the console's output. It accepts a boolean argument named ``replace_newlines`` which tells whether or not to replace ``\r\n`` with ``\n``. It is ``False`` by default. This code plays back the most recent output from a console:: >>> import time >>> for char in console.get_latest_output(replace_newlines=True): ... print(char, end='') ... time.sleep(0.1) ... (console output will slowly appear)