首页 > 解决方案 > 如何在 Python 中编辑文件的一行?

问题描述

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

我试过 .replace() 但我不想更改 python 字符串中的数据。我唯一想要的是对文本文件进行更改(甚至不附加到它的最后一行)

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

Hello
World!

我希望它变成这样:

Hi
World!

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

text_file = open(myfile, "r")
text_file[0]="Hi"

标签: python-3.xfile

解决方案


那是行不通的 In 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)

推荐阅读