擅长:python、mysql、java
<p><code>run</code>命令返回一个<a href="http://docs.pyinvoke.org/en/latest/api/runners.html#invoke.runners.Result" rel="nofollow noreferrer">^{<cd2>}</a>对象,该对象具有以下属性(除其他外):</p>
<ul>
<li><em>标准输出</li>
<li><em>标准误差</li>
<li><em>exited</em>—程序的退出代码</li>
<li><em>正常</em>-退出==0</li>
<li><em>return_code</em>-已退出的别名</li>
</ul>
<p>所以您需要检查<code>exited</code>/<code>return_code</code>属性。在</p>
<p>但是,脚本不会随函数的返回代码一起退出。为此,您需要使用该值<code>sys.exit</code>,因此将下载文件更改为:</p>
<pre><code>sys.exit(download_file(url))
</code></pre>
<p>会从download_file函数获取返回代码。您需要在脚本上<code>import sys</code>,以确保您有<code>sys</code>模块可用。在</p>
<p>当程序以非零退出代码失败时,将抛出<code>UnexpectedExit</code>异常。为了在这种情况下获得退出代码,您可以(a)捕获异常,或者(b)将参数<code>warn=True</code>传递给run命令,因此run命令如下所示:</p>
^{pr2}$