<p>我试图搜索一个函数的输出,它没有设置结果代码的礼貌。我可以通过混入stderr流中的“error:”字符串判断它失败了,该字符串通常位于不同的转换状态消息的中间。在</p>
<p>我有下面的列表理解方法,但是会扫描两次“error:”字符串。因为它只是重新扫描实际的错误线,它工作得很好,但它使我恼火,我不知道如何使用单一的扫描。工作代码如下:</p>
<pre><code>errors = [e[e.find('error:'):] for e in err.splitlines() if 'error:' in e]
</code></pre>
<p>显然(也是错误的)简化方法是保存“find”结果</p>
^{pr2}$
<p>但是,我得到“UnboundLocalError:赋值前引用了局部变量‘e’”。在理解中盲目地颠倒“for”也是失败的。这是怎么做到的?在</p>
<p>谢谢。肯特</p>