如何在Python中编辑文件的一行?

时间:2019-04-21 14:46:57

标签: python-3.x file

如何在python中编辑文本文件的特定行?

我已经尝试过.replace(),但是我不想更改python字符串中的数据。 我唯一想做的就是更改文本文件(甚至不附加到文本文件的最后一行)

我有这个文本文件,例如:

ERROR 1242 (21000): Subquery returns more than 1 row

我希望它变成这样:

Hello
World!

我应该使用这样的代码吗?:

Hi
World!

1 个答案:

答案 0 :(得分:2)

这在python3中不起作用,因为readlines返回一个迭代器,而不是列表。如果文件不太大,则可以将其全部加载到内存中,然后编写:

with open(myfile, "r") as f:
    data = list(f.readlines())

# modify first line
data[0] = "Hi!"

with open(myfile, "w") as f:
    f.writelines(data)