擅长:python、mysql、java
<p>您一直在打开同一个文件并向其中写入一行。您有两个选项:可以在循环外打开它一次(效率更高),也可以在退出循环时关闭它(还应该关闭另一个<code>open</code>语句)。或者您可以使用<code>'a'</code>而不是<code>'w'</code>打开它,以<em>将</em>附加到文件中。
但是我会在进入<code>for</code>循环之前打开它。
此外,循环不应缩进到<code>flist</code>行下,除非使用<code>with</code></p>
<p>注意:我认为通常应该使用<code>.rstrip()</code>而不是用<code>[:-1]</code>截断<code>\n</code>。最后一行的结尾可能没有换行符,您将丢失该字符</p>
<pre><code>with open('/tmp/desc.txt') as flist:
file2 = open('/tmp/test_live.txt','w')
for line in flist:
if line.startswith("Event Name:"):
eventname = line[12:-1]
file2.write(eventname + "\n")
file2.close()
</code></pre>