Python - 设置文件 EOF

Python - Set file EOF

比如说,出于某种原因,我有一个 1 TB 的文件。在Python中,如果我想增加10个字节,我可以直接寻找到最后,写一个10字节的字符串。但是,假设我想从它的末尾切掉 10 个字节。显然,复制这个文件而没有多余的 10 个字节,然后删除旧文件将花费大量时间(甚至可能没有 HDD space)。

在 Windows 的 c++ 中,有一个函数 SetEndOfFile,它可以让我将文件大小更改为更小而无需重写文件。

python 中是否有类似的功能可以做到这一点?我已经研究过但找不到任何东西...

哇,我想我还没有仔细看:truncate

f = open(fname)
f.seek(-10,2) # jump 10 bytes before end
f.truncate() # truncate it!!
f.close()