Run a subprocess in a pseudo terminal
See the codeLaunch a subprocess in a pseudo terminal (pty), and interact with both the
process and its pty.
Sometimes, piping stdin and stdout is not enough. There might be a password
prompt that doesn't read from stdin, output that changes when it's going to a
pipe rather than a terminal, or curses-style interfaces that rely on a terminal.
If you need to automate these things, running the process in a pseudo terminal
(pty) is the answer.
Interface:
.. code:: python
from ptyprocess import PtyProcessUnicode
p = PtyProcessUnicode.spawn(['python'])
p.read(20)
p.write('6+6\n')
p.read(20)
Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.
Overall
Maintained
Code review
PyPI
Latest release
Releases this year
554 followers · starred Apr 2015
104 followers · starred Jun 2022
66 followers · starred Jan 2024
124 followers · starred May 2017
Run a subprocess in a pseudo terminal
See the codeLaunch a subprocess in a pseudo terminal (pty), and interact with both the
process and its pty.
Sometimes, piping stdin and stdout is not enough. There might be a password
prompt that doesn't read from stdin, output that changes when it's going to a
pipe rather than a terminal, or curses-style interfaces that rely on a terminal.
If you need to automate these things, running the process in a pseudo terminal
(pty) is the answer.
Interface:
.. code:: python
from ptyprocess import PtyProcessUnicode
p = PtyProcessUnicode.spawn(['python'])
p.read(20)
p.write('6+6\n')
p.read(20)
Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.
Overall
Maintained
Code review
PyPI
Latest release
Releases this year
554 followers · starred Apr 2015
104 followers · starred Jun 2022
66 followers · starred Jan 2024
124 followers · starred May 2017