[Python-ideas] Option of running shell/console commands inside the REPL
Steven D'Aprano
steve at pearwood.info
Fri Feb 1 04:24:31 EST 2019
On Fri, Feb 01, 2019 at 08:26:03AM +0000, João Matos wrote:
> Hello,
>
> Consider adding the option of running shell/console commands inside the
> REPL.
> Something like
> >>>!dir
That's a pretty big change, arguably best left for a third-party REPL
like iPython (which already supports "magic" commands using ! and ?
syntax).
It is hard to tell precisely where to draw the line between adding
useful functionality to the standard Python interpreter, and where to
leave it for "advanced" REPLs or IDEs like iPython.
My personal opinion is that specifically supporting shell commands
crosses that line, but adding a REPL hook for ! commands which the user
can customise does not. Hypothetically speaking, the Python interactive
interpreter, and *only* the interactive interpreter, might define hooks
for lines starting with a leading ! or ? and users could define their
own magic functions for those.
Or one could use the code module to define your own custom REPL, and
automatically run that on startup:
https://docs.python.org/3/library/code.html
Actually, adding a code.InteractiveConsole subclass with hooks for
lines beginning with ! and ? might be a nice addition to the stdlib
without adding complexity to the builtin interpreter.
--
Steve
More information about the Python-ideas
mailing list