在python中写入到特定行的末尾

在python中写入到特定行的末尾,python,append,text-files,Python,Append,Text Files,我有一个文本文件,其中包含由如下选项卡分隔的键值对: KEY\tVALUE 我已经在附加模式(a+)下打开了这个文件,所以我可以读写。现在,可能会出现一个特定键的值超过1的情况。为此,我希望能够转到该特定键,并在原始值旁边写入下一个值,该值由某个分隔符(或,)分隔。 以下是我想做的: import io ft = io.open("test.txt",'a+') ft.seek(0) for line in ft: if (line.split('\t')[0] == "queryke

我有一个文本文件,其中包含由如下选项卡分隔的键值对:

KEY\tVALUE
我已经在附加模式(a+)下打开了这个文件,所以我可以读写。现在,可能会出现一个特定键的值超过1的情况。为此,我希望能够转到该特定键,并在原始值旁边写入下一个值,该值由某个分隔符(或,)分隔。 以下是我想做的:

import io
ft = io.open("test.txt",'a+')
ft.seek(0)
for line in ft:
    if (line.split('\t')[0] == "querykey"):
        ft.write(unicode("nextvalue"));#Write the another key value beside the original one
现在它有两个问题:

  • 我将遍历该文件,查看密钥出现在哪一行(有没有更快的方法?)
  • 我将在那一行的末尾写一个字符串。
  • 如果能在第二点上得到帮助,我将不胜感激


    write函数总是在文件末尾写入。我应该如何写到特定行的末尾?我已经搜索过了,但没有得到非常明确的答案,如何做到这一点

    您可以阅读整个文件内容,进行编辑并将编辑后的内容写入文件

    with open('test.txt') as f:
        lines = f.readlines()
    
    f= open('test.txt', 'w')#open file for write
    for line in lines:
        if line.split('\t')[0] == "querykey":
            line = line + ',newkey'
    
        f.write('\n'.join(lines))