Python空文件留下10,000行

时间:2015-04-08 07:06:32

标签: python file file-io

所以我有一个充满ID的文本文件,所以我知道不要再做了。似乎每一秒我都要再增加1000个。

我想清空文件,同时保留最后10,000行。

我知道我可以使用open(file, 'w').close()完全清空文件,但这不会有效。

我该怎么办?我很开心。

1 个答案:

答案 0 :(得分:0)

您的问题实际上是操作系统或文件系统。

所有文件(在Linux等POSIX系统上,也可能在Windows上)只能在它们的尾部被截断:操作系统的文件系统层不允许删除文件前面(或中间)的字节(被视为一个字节序列)。

所以你需要将N个最后一行复制到别处(在其他一些临时文件中),然后适当地重命名该临时文件。

(顺便说一下,我的答案不是Python特有的。在C ++或Ocaml中它是一样的......)