我遇到一个问题,当我在Python中使用subprocess
模块时,我似乎无法解决这个问题。
当我在cmd提示符中执行命令时,暂停执行直到用户输入所询问的问题(例如密码)。
问题是问题可能因软件的用户设置而异。问题可能是用户名首先,然后第二个问题可能是密码或问题可以立即密码。如果我知道问题始终是密码,那么我可以立即执行stndin
,程序将继续。但事实并非如此。所以这是我的问题
当我使用subprocess.Popen(my_command, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
生成进程时,进程正在等待用户输入。我怎样才能得到流程所要求的问题,以便通过Python我可以获得用户输入并将其传达给流程。
提前致谢
答案 0 :(得分:0)
使用communicate方法。
out, err = process.communicate()
print out # The question is here
out, err = process.communicate("my answers")