[Python-Dev] Incorrect documentation of the raw_input built-in function (original) (raw)

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