擅长:python、mysql、java
<p>这从技术上回答了直接的问题:</p>
<pre><code>lst = [line[6:17] for line in open(fname)]
</code></pre>
<p>但有一个致命的缺陷。对于一次性代码来说,这是可以的,但是数据看起来像逗号分隔的值,第三个字段甚至可能是以空格分隔的数据块。最好这样做,这样如果前两列多出一个数字,它仍然可以工作:</p>
^{pr2}$
<p>如果这些空格分隔的块可能会变长,那么:</p>
<pre><code>lst = [x[2].strip().split()[0:2] for x in [line.split(',') for line in open(fname)]]
</code></pre>
<p>别忘了一两句话来解释发生了什么事。或许:</p>
<pre><code># on each line, get the 3rd comma-delimited field and break out the
# first two space-separated chunks of the licence key
</code></pre>
<p>当然,假设这些是许可证密钥。评论不必太抽象。在</p>