python运行程序,需要用户

时间:2015-04-23 23:38:41

标签: python pexpect

我正在Linux中用Python编写自动化脚本。它调用另一个需要用户输入密码的进程。

我使用pexpect实现了它,我只是生成命令,然后进行交互。

有替代方法吗?我不能使用pexpect,因为我需要在没有安装pexpect的机器上运行脚本。

1 个答案:

答案 0 :(得分:1)

我已经看到使用ssh / popen和标准流等内容通过subprocess执行此操作的代码。

但这是一种非常糟糕的做法(要求将密码以明文形式保存在相对容易访问的地方,并且不允许轻易更改)。

  • 事实上,我提到的代码在我之前的职业中引起了一个问题:我在服务器上安装了一个客户端密钥,并且脚本在预期的时候不再看到密码提示了!

所以我建议以这种方式运行程序(选项,配置文件,sudo等),不需要手动输入密码。