如何使用python子进程运行.sh交互式脚本时提供输入

时间:2016-07-29 18:01:08

标签: python python-2.7 subprocess stdin popen

我正在使用python运行脚本,在执行时会提示输入密码和路径。从命令行运行脚本时,行为如下:

-----
-----
obfuscatePassword = subprocess.Popen(['obfuscatePassword.sh'],
                                     stdin=subprocess.PIPE,
                                     stdout=subprocess.PIPE,
                                     stderr=subprocess.PIPE,
                                     universal_newlines=True)
obfuscatePassword.stdin.write(password)
obfuscatePassword.stdin.write(passwordFilePath)
stdout, stderr = obfuscatePassword.communicate('through stdin to stdout')

-----
-----

我想知道,我无法从python子进程提供输入数据。似乎我试图使用stdin提供这些输入的方式不起作用。请参阅以下代码:

{{1}}

执行只是在控制台中挂起,我必须按ctrl + C结束python程序。

你们中的任何人都可以帮我理解我编码错误的地方吗?非常感谢提前。

0 个答案:

没有答案