<p>您需要迭代文件的每一行以获得所需的结果。在代码中使用<code>.read()</code>,而不是使用<code>.readlines()</code>来获取所有行的列表。你知道吗</p>
<p>下面是示例代码:</p>
<pre><code>lines = []
with open("test.txt", "r") as f:
for line in f.readlines(): # < Iterate over each line
if line.startswith("Hello"): # <-- check if line starts with "Hello"
line = "55{}55".format(line)
elif line.startswith("World"):
line = "66{}66".format(line)
lines.append(line)
print "\n".join(lines)
</code></pre>
<p>为什么要使用<code>with</code>?检查<a href="https://docs.python.org/3/whatsnew/2.6.html#pep-343-the-with-statement" rel="nofollow">Python doc</a>:</p>
<blockquote>
<p>The ‘with‘ statement clarifies code that previously would use try...finally blocks to ensure that clean-up code is executed. In this section, I’ll discuss the statement as it will commonly be used. In the next section, I’ll examine the implementation details and show how to write objects for use with this statement.</p>
<p>The ‘with‘ statement is a control-flow structure whose basic structure is:</p>
<p>with expression [as variable]: with-block</p>
<p>The expression is evaluated, and it should result in an object that supports the context management protocol (that is, has <strong>enter</strong>() and <strong>exit</strong>() methods).</p>
</blockquote>