如果我是从头开始创建一个稀疏文件,并且想要使其大小为 n ,我将使用bytestream.seek(n-1)偏移指针,然后写一个空值末尾的字节。比编写长度为n的字节流要快得多!
但是,如果我用open(...,'ab')打开了所说的文件,则seek()不再是一个选项,一旦我调用write(),位置就会重置到文件的末尾,如在文档中说明。 使用python的ammend时,似乎唯一的选择是写入每个单独的空字节。
还有另一种方法可以快速有效地将空字节附加到预先存在的文件中吗?
答案 0 :(得分:1)
添加模式确实击败了seek
,但seek
的部分目的是要比添加模式更灵活。在更新模式('r+b'
中打开,您可以搜索文件的末尾。 (您可以在文本模式下找到至,但不能超过结尾。)