如何将Python的getpass()重定向到stderr?

1 投票
1 回答
963 浏览
提问于 2025-04-16 20:29

我正在尝试写一个程序,这个程序会把提示信息打印到标准错误输出(standard error),而把其他输出打印到标准输出(standard out),这样我就可以后续处理这些输出。

我对Python还不是很熟悉,不过getpass()的文档显示我应该能够选择输出流:

getpass.getpass([prompt[, stream]])

我尝试了很多不同的参数来使用getpass,但就是无法让它在标准错误输出中显示提示信息。希望能得到一些帮助,谢谢。

>>> password = getpass.getpass("Password", sys.stderr)
TypeError: unix_getpass() takes at most 1 argument (2 given)

1 个回答

5

在 Python 2.5 版本中,getpass.getpass() 这个函数增加了一个叫做 stream 的参数,而在之前的版本中是没有这个参数的。

撰写回答