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()
比如说,出于某种原因,我有一个 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()