擅长:python、mysql、java
<p>你可以做一些改进。在</p>
<ol>
<li><p>逐行遍历文件,而不是调用<code>f.read()</code>和<code>str.splitlines</code>。在</p>
<p>这就是你在列表理解和使用<code>with</code></p>的主要区别</li>
<li><p>通过编译regex然后调用它的<code>re.findall</code>方法来替换<code>re.findall</code>调用。</p></li>
<li>使用列表的真实性忽略空结果。在</li>
</ol>
<pre class="lang-py prettyprint-override"><code>source = re.compile('\bSource (.+)')
data = []
with open(r'C:\debug.log', 'r') as f:
for line in f:
sources = source.findall(line)
if sources:
data.extend(sources)
</code></pre>
<p>最后,<code>data</code>应该包含您要查找的所有路径。在</p>