擅长:python、mysql、java
<p>您可以将<code>'error'</code>的检查放在生成器表达式中:</p>
<pre><code>[e[i:] for i,e in
((e.find('error:'),e) for e in err.splitlines())
if i != -1]
</code></pre>
<p>您所做的是创建一个嵌套的理解,并在第二个循环之前使用<code>e</code>变量,得到UnboundLocalError</p>
<p>顺便说一句,您也可以使用regex来避免这种理解:</p>
^{pr2}$
<p>也不需要拆分线条。在</p>
<p>对于完整的错误(对于<code>error:</code>部分),可以这样做:</p>
<pre><code>re.findall('error:.*', err)
</code></pre>