所以我有一个充满ID的文本文件,所以我知道不要再做了。似乎每一秒我都要再增加1000个。
我想清空文件,同时保留最后10,000行。
我知道我可以使用open(file, 'w').close()
完全清空文件,但这不会有效。
我该怎么办?我很开心。
答案 0 :(得分:0)
您的问题实际上是操作系统或文件系统。
所有文件(在Linux等POSIX系统上,也可能在Windows上)只能在它们的尾部被截断:操作系统的文件系统层不允许删除文件前面(或中间)的字节(被视为一个字节序列)。
所以你需要将N个最后一行复制到别处(在其他一些临时文件中),然后适当地重命名该临时文件。
(顺便说一下,我的答案不是Python特有的。在C ++或Ocaml中它是一样的......)