[Python-Dev] Incorrect documentation of the raw_input built-in function

Greg Ewing greg.ewing at canterbury.ac.nz
Mon Jan 28 09:35:35 CET 2008


Isaac Morland wrote:

> What about an option (maybe even a default) to send the prompt to stdin?
> 
> The Postgres command line interface psql appears to do this:
> 
> $ psql 2>&1 >/dev/null
> Password:
> $

No, it's probably using the C stdlib routine getpass(). From the man
page:

      The getpass() function displays a prompt to, and reads in a password
      from, /dev/tty.  If this file is not accessible, getpass() displays the
      prompt on the standard error output and reads from the standard input.

So it appears that the official Unix Way prefers using stderr
over stdout for prompting, if using the std files for it at all.

Writing to stdin would be wrong, since it's usually read-only, even
when connected to a terminal.

--
Greg


More information about the Python-Dev mailing list