命令等待用户输入,子流程

时间:2018-05-25 10:09:12

标签: python subprocess

我遇到一个问题,当我在Python中使用subprocess模块时,我似乎无法解决这个问题。

当我在cmd提示符中执行命令时,暂停执行直到用户输入所询问的问题(例如密码)。 问题是问题可能因软件的用户设置而异。问题可能是用户名首先,然后第二个问题可能是密码或问题可以立即密码。如果我知道问题始终是密码,那么我可以立即执行stndin,程序将继续。但事实并非如此。所以这是我的问题

当我使用subprocess.Popen(my_command, stdin=subprocess.PIPE, stdout=subprocess.PIPE)生成进程时,进程正在等待用户输入。我怎样才能得到流程所要求的问题,以便通过Python我可以获得用户输入并将其传达给流程。

提前致谢

1 个答案:

答案 0 :(得分:0)

使用communicate方法。

out, err = process.communicate()
print out  # The question is here

out, err = process.communicate("my answers")