擅长:python、mysql、java
<p><code>p</code>,<code>Popen</code>对象没有<code>.decode(...)</code>成员。在</p>
<p>你需要真正解码<em>输出</em></p>
<pre><code>p = subprocess.Popen(cmd, stdout=subprocess.PIPE)
out, _ = p.communicate()
out = out.decode('utf-8')
assert p.returncode == 0, 'Error raxml' + out[0]
</code></pre>
<p>也就是说,可以改进此代码以使用<code>subprocess.check_output</code>:</p>
^{pr2}$
<p>或者你碰巧在用python3.6+</p>
<pre><code>out = subprocess.check_output(cmd, encoding='UTF-8')
</code></pre>