pexpect将密码传递给脚本

时间:2017-02-03 11:27:29

标签: python unix subprocess pexpect

我试图运行会触发脚本的代码。 该脚本评估某些内容并将结果上载到一个站点,该站点向用户提示密码。需要使用通用用户自动执行此操作。

我有

import subprocess
p=subprocess.Popen(cmd,cwd=path)
p.wait()

当它运行时,它会评估某些内容并提示输入密码。 如何使用pexpect提供此密码? 还有其他解决办法吗?

1 个答案:

答案 0 :(得分:0)

使用spawn class

p = ['cmd','to','run']
child = pexpect.spawn(' '.join(p), cwd='/path/to/dir')
# Now you give a regex of the expected password prompt
# usually use 'pass.*'
# but for a general case use '.*'
child.expect('.*')
child.sendline('abc123')  # your secure password
child.wait()