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

Python 3.x 如何在Python中编辑文件的一行?,python-3.x,file,Python 3.x,File,如何在python中编辑文本文件的特定行 我已经尝试了.replace(),但我不想更改python字符串中的数据。 我唯一想要的是对文本文件进行更改(甚至不附加到文本文件的最后一行) 我有这个文本文件,例如: Hello World! 我希望它变成这样: Hi World! 我应该使用这样的代码吗 text_file = open(myfile, "r") text_file[0]="Hi" 这在python3中不起作用,因为readlines返回的是迭代器,而不是列表。如果文件不太大,

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

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

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

Hello
World!
我希望它变成这样:

Hi
World!
我应该使用这样的代码吗

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

这在
python3
中不起作用,因为
readlines
返回的是迭代器,而不是列表。如果文件不太大,可以在memmory中加载所有文件,然后写入:

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)