Python p希望将密码传递给脚本

Python p希望将密码传递给脚本,python,unix,subprocess,pexpect,Python,Unix,Subprocess,Pexpect,我正在尝试运行一个会触发脚本的代码。 脚本评估某个内容并将结果上载到一个站点,提示用户输入该站点的密码。需要与普通用户一起自动执行此操作 我有 import subprocess p=subprocess.Popen(cmd,cwd=path) p.wait() 运行时,它会计算某些内容并提示输入密码。 如何使用pexpect提供此密码? 还有其他解决方案吗?使用 我写了这样的东西。但它一直在等待。不知道为什么。。。import pexpect cmd=['python','example.p

我正在尝试运行一个会触发脚本的代码。 脚本评估某个内容并将结果上载到一个站点,提示用户输入该站点的密码。需要与普通用户一起自动执行此操作

我有

import subprocess
p=subprocess.Popen(cmd,cwd=path)
p.wait()
运行时,它会计算某些内容并提示输入密码。 如何使用pexpect提供此密码? 还有其他解决方案吗?

使用


我写了这样的东西。但它一直在等待。不知道为什么。。。import pexpect cmd=['python','example.py']cwd='path'child=pexpect.spawn(''.join(cmd),cwd=cwd)child.expect('.*')child.sendline('password')child.wait()在example.py中我有以下内容:import time import datetime范围内的I的datetime(3):print I time.sleep(1)print(datetime.datetime.now())k=raw_input(“Password:”)如果k==“Password”:print“entered”否则:print“Not entered”不确定问题是否存在,因为它对我有效。不要期望在屏幕上看到任何打印的内容,因为您没有捕获example.py的输出流。尝试制作文件,而不是打印
“已输入”
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()