python - 如何将文本添加到特定的文件行?
问题描述
我已经编写了一堆文件,我必须在第一行中添加一个文本行。我试图用 来做到这一点seek()
,但是这种方法会覆盖第一行的文本。我正在寻找可以改变一切并添加文本的东西。
def add_line(file):
with open(file,'r+') as f:
text="my_text"
for line in f:
if text in line:
break
else:
f.write(text)
print("Text was added in\n"+ file)
解决方案
你不能。它称为文件偏移,如果您覆盖它指向的数据,它不会自动移动。
您需要先读取文件,然后打开一个新文件(在这里您可以覆盖文件)并根据需要写入数据。考虑这个文件:
→ cat file.text
line1
line2
line3
而这段代码
lines = ""
with open('file.text', 'r') as f:
lines = f.read()
with open('file.text', 'w') as newf:
newf.write("new first line\n")
newf.write(lines)
执行后,文件内容如下:
→ cat file.text
new first line
line1
line2
line3
推荐阅读
- javascript - Sequelize Many to Many - 更新关联表
- javascript - 创建不带参数的 JavaScript 函数并使用点传递数据
- javascript - if 语句在单击时提示一个弹出框
- django - Hostgator VPS 中的 Django 部署 - 同一服务器上的 PHP 和 Python - easyapache24 和 mod-wsgi
- javascript - 专注于下一个输入在 jquery 中不起作用?
- flutter - Flutter Web TextForm 字段
- ios - 如何检查今天小部件的数据
- python - TypeError: '(slice(None, None, None), array([ True, False, ... True, True]))' 是无效键
- matlab - 在 MATLAB 中使用 FFT 并在高斯上正确重新缩放
- java - ListView 未显示 Wifi 列表数组