python - 在python中删除文本文件的第一行

标签 python

<分区>

Possible Duplicate:
Editing specific line in text file in python

我正在编写一个允许用户将数据写入文本文件的软件。但是,我不确定如何删除文本文件的第一行并重写该行。我希望用户能够通过单击按钮并输入内容来更新文本文件的第一行,但这需要删除并写入新行作为第一行,我不确定如何实现。任何帮助将不胜感激。

编辑:

所以我找到文件的第一行并尝试写另一行但不会删除前一行。

file.seek(0)
file.write("This is the new first line \n")

最佳答案

您没有描述您一开始是如何打开文件的。如果您使用 file = open(somename, "a"),该文件将不会被截断,但新数据会写入末尾(即使在大多数(如果不是全部)现代系统上进行搜索之后)。您必须使用“r+”) 打开文件

但是您的示例假定您编写的行的长度与用户键入的内容的长度完全相同。文件中没有行组织,只有字节,其中一些表示行结束。 您需要做的是在内存中为所有行使用一个临时文件或临时缓冲区,然后用第一个替换的行写出这些行。

如果内容适合内存(我认为这是因为很少有用户会输入太多以至于不适合),您应该能够做到:

lines = open(somename, 'r').readlines()
lines[0] = "This is the new first line \n"
file = open(somename, 'w')
for line in lines:
    file.write(line)
file.close()

关于python - 在python中删除文本文件的第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10758584/

相关文章:

python - 如何避免列表理解中不必要的工作?

python - 将一个数组的每个元素除以另一个数组的每个元素

python - nn.Linear 的输出对于相同的输入是不同的

python - 值错误: Cannot take the length of Shape with unknown rank

python - Cv2.hogdescriptor.setsvm detector 多类分类

python - Gensim `most_similar` 中的弃用警告?

android - jnius.find_javaclass ,jnius.JavaException : Class not found 'android/webkit/WebView'

python - 使用 python 从两个文件创建存在/不存在矩阵

python - dev_appserver.py 给我一个错误

python - 在将大型数据集存储到数据库之前在 Python 中定义它们