擅长:python、mysql、java
<p>首先,您最好使用list作为参数,因为您没有使用shell来执行程序:</p>
<pre><code>cmd = ['/usr/bin/passwd', ' stdin', sys_user]
proc = subprocess.Popen(cmd, stdin=subprocess.PIPE,stdout=subprocess.PIPE)
</code></pre>
<p>然后需要调用<code>proc</code>对象上的communicate方法来获取stdin/stdout:</p>
<pre><code>out, err = proc.communicate(password)
for l in out.split('\n'):
print out
</code></pre>
<p>就这样!你知道吗</p>
<p>注意:要使用python从标准输入中获取passwd,请查看<a href="https://docs.python.org/3.4/library/getpass.html" rel="nofollow">^{<cd2>}</a>模块。你知道吗</p>