擅长:python、mysql、java
<p>我怀疑您被IDE欺骗了,以为<code>P2.py</code>有它没有的输出。有时ide会打印一些对调试有用的内容,但不应与脚本的输出混淆。您的<code>foo()</code>函数返回9,但<code>P2.py</code>不输出</em>9。在</p>
<p>check_output只返回从子进程打印的内容(请参见<a href="https://docs.python.org/2/library/subprocess.html" rel="nofollow noreferrer">the docs</a>)。当前,<code>P2.py</code>不打印任何内容。它只计算一个值9并退出,这样<code>P1.py</code>中的字符串<code>output</code>为空。您永远不会要求它对<code>foo()</code>的值执行任何操作,因此不会执行任何操作。将<code>P2.py</code>中的<code>foo()</code>替换为<code>print foo()</code>,以实现您想要的行为。在</p>