python print只在本地显示

时间:2015-07-02 19:33:54

标签: python linux unix

好吧,我正在建立一个"二级认证"一些服务器的片断。 SSH连接后,基本上会提示您输入第二组凭据。这是我遇到的问题......

只要我从机器上运行它并且无法解决问题,如果我已经陷入并且已经作为用户进行身份验证或者我是本地的,那么脚本就会正常显示。但是,如果我将脚本添加到相关配置文件中,并在用户进入时启动,因为所述用户没有任何打印命令显示在屏幕上,而是getpass.getpass('密码:')命令确实显示。

所以这里没有显示,即使它没有显示单词"用户名"它仍然接受输入。

USERNAME = raw_input('Username: ')

这是没有显示的内容。

PSWD = getpass.getpass('Password: ')

这是登录尝试的样子(这是一个错误的密码,也应该打印出一条失败的消息,但是你看到它并没有)

Last login: Thu Jul  2 15:19:06 2015 from x.x.x.x
unicode_start skipped on /dev/pts/2
unicode_start skipped on /dev/pts/2
test_test
Password:
Connection to x.x.x.x closed.

1 个答案:

答案 0 :(得分:1)

需要打印到stderr而不是stdout

sys.stdout = sys.stderr