python-3.x - 如何在 Python 中编辑文件的一行?
问题描述
如何在 python 中编辑文本文件的特定行?
我试过 .replace() 但我不想更改 python 字符串中的数据。我唯一想要的是对文本文件进行更改(甚至不附加到它的最后一行)
我有这个文本文件,例如:
Hello
World!
我希望它变成这样:
Hi
World!
我应该使用这样的代码吗?:
text_file = open(myfile, "r")
text_file[0]="Hi"
解决方案
那是行不通的 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)
推荐阅读
- java - 如何从服务更新 UI?
- javascript - API post call 的输出响应 - Javascript - 400 Bad Request
- python - PyCharm 是否能够根据 `.python-version` 文件自动选择解释器?
- mysql - 为什么在 MySQL 5.6 中为表添加索引会导致死锁?
- java - 并非所有口味 CodeChef DSA 学习第 2 周
- c# - Azure Blob 上大文件的 PGP 加密
- javascript - 随着屏幕变窄,如何让元素靠得更近?
- c++ - C++ 程序如何仅从声明中知道在哪里找到函数?
- nlp - 为什么我们需要自定义数据集类以及在 NLP、BERT 微调等中使用 _getitem_ 方法
- python - Django 表单未添加文本框且未发送用户查找的内容