擅长:python、mysql、java
<p><strong>您不能</strong>。在当前的文件系统上,实际的文本文件实现是不可能的。</p>
<p>文本文件是连续的,因为文本文件中的行可以是任意长度的。
删除某一行意味着从那一点开始重写整个文件。</p>
<p>假设你有一个文件有以下三行</p>
<pre><code>'line1\nline2reallybig\nline3\nlast line'
</code></pre>
<p>要删除第二行,必须移动磁盘中第三行和第四行的位置。唯一的方法是将第三行和第四行存储在某个地方,截断第二行上的文件,然后重写丢失的行。</p>
<p>如果知道文本文件中每一行的大小,可以使用<code>.truncate(line_size * line_number)</code>在任何位置截断文件,但即使这样,也必须重写行后的所有内容。</p>