擅长:python、mysql、java
<p>只有一个可能的原因(IMHO)-<em>文件<code>database.txt</code>在你写信给它之前不是空的(尽管你在评论中声明了这一点)。你知道吗</p>
<p>因此,您的输出是<code>O.K.</code>,在开始处是字符串<code>Hello!</code>,其余的是<em>文件的原始内容</em>。你知道吗</p>
<p>所以你的<code>f.read()</code>从实际位置开始读取(用于读或写),它就在你写的东西之后,也就是在符号<code>!</code>之后。所以-在您的例子中-它将从<code>t</code>开始读取。你知道吗</p>
<p>在使用</em><code>f.read()</code>之前,您可以使用<code>f.seek(position)</code>更改实际位置。你知道吗</p>
<p>所以你的完整代码是:</p>
<pre><code>f = open("database.txt", "r+")
f.write("Hello!")
f.seek(0)
print f.read(6) # Note 6 as number of bytes to read
f.close()
</code></pre>