我有一个文本文件,其中包含由选项卡分隔的键值对,如下所示:
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
现在有两个问题:
如果能得到第二点的帮助,我将不胜感激。
写入函数始终在文件末尾写入。我该如何写到特定行的末尾?我已经搜索过,并且没有得到关于如何做到这一点的非常明确的答案
答案 0 :(得分:1)
您可以阅读整个文件内容,进行编辑并将编辑过的内容写入文件。
with open('test.txt') as f:
lines = f.readlines()
f.close()
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))
f.close()