File 如何从文件中逐行删除所有行?

File 如何从文件中逐行删除所有行?,file,python-2.7,File,Python 2.7,我正在运行一个循环,从文件中获取名称 我想做的是,当取下名称时,它会将其从文件中删除。我怎样才能做到这一点?试试看 它是这样的: import fileinput for line in fileinput.input(someFileName, inplace=True): doSomething() 任何迭代的行都会被消耗,因此会从文件中删除。 如果您只需将其保存打印即可,它将被重写到同一位置的文件中。 i、 e.如果不将行打印回,它将消失:)本机文件不能以这种方式工作。每次通过循

我正在运行一个循环,从文件中获取名称

我想做的是,当取下名称时,它会将其从文件中删除。我怎样才能做到这一点?

试试看

它是这样的:

import fileinput
for line in fileinput.input(someFileName, inplace=True):
    doSomething()
任何迭代的行都会被消耗,因此会从文件中删除。
如果您只需将其保存
打印
即可,它将被重写到同一位置的文件中。

i、 e.如果不将行打印回,它将消失:)

本机文件不能以这种方式工作。每次通过循环,您都必须重写剩余文件的整个列表。性能将很差(除非文件列表总是很短)。如果您的进程在尝试更新文件时崩溃,则失败模式非常糟糕,因为您无法就地执行更新。最好的方法是:写入临时文件,删除原始文件,然后重命名(或移动)临时文件


但是,你应该考虑使用。您可以从
文件
表中删除记录,或者有一个状态字段跟踪已处理的文件。

@user1628593,还有什么我可以做的来让您更容易接受这个答案吗?