在txt文件中,数据的写入方式如下:
A1代表礼堂的标签,礼堂1代表说明,Prote G代表地址。现在,我想做一个功能,用新的标签替换礼堂的标签。我想使用输入:
def label_change():
label_old = input("Enter label u wanna change: ")
label_new = input("Enter new one: ")
with open("aud.txt","r") as f1:
for i in f1.readlines():
r = i.split("|")
label = r[0]
desc = r[1]
adr = r[2]
if label_old == label:
label_new = label
#now not sure how to continue
例如,如果我将A1作为旧标签输入,将A5作为新标签输入,我是否可以用A5替换A1,而不删除或更改文件中的描述和地址?在此之后,我尝试以“w”模式打开文件,这样我就可以写了,但它会删除每一行,“a”模式会添加整行,而不是更改想要的标签。有没有更简单的方法
您不能轻松地就地修改文件,而是更容易将其写入新文件。如果您一次只想更改一件事,这将起作用:
如果要更改多个标签,最好是读入所有行,修改直到满意为止,然后重新写出所有行
您必须将数据保存在一个行列表中,并且可以简单地将以A1开始的每一行替换为同一行,但以A2开始
您也可以在python中进行重命名/删除:
事后考虑:
您可以使用
您只需将其写回文件,就可以在与f1相同的行中打开它,然后使用f2.write()将新行写入其中:
为了写入同一文件,您可以将内容保存到列表中,然后写入:
相关问题 更多 >
编程相关推荐