【发布时间】:2016-09-04 10:59:01
【问题描述】:
我有两个文件,其中一个具有假设键列表,而另一个文件具有如下所示的键和值对。
键```值
现在,假设我必须在后面的文件中搜索具有键值对的每个键,并且在匹配键时,必须在值的位置为特定键写入一些值。
这是我的代码,它在运行时与模式匹配,在控制台上显示确切的输出,但在写入文件时写入文件末尾。
import re
with open('perceive.txt','r') as jawabdo:
for harsawal in jawabdo:
with open('answers.txt','ab+') as letmethink:
for spquestion in letmethink:
sawal,jawab = spquestion.split("```")
matching = re.match(sawal.lstrip('\r'),harsawal)
if matching:
size = len(jawab)
if(size == 1):
jawab = "coming soon"
letmethink.write(jawab)
print('Answers written successfully!!!')
letmethink.close()
jawabdo.close()
注意:percept.txt 是带有键的文件,而 answers.txt 是带有键```值对的文件。
【问题讨论】:
-
首先在 list/dict/whatever 中完整阅读答案。然后写到最后,随心所欲。
-
这就像文件会增长,并且是一个动态文件,会随着每个新输入而不断更新,所以存储在 list/dict 中然后写回文件的想法似乎不可行在这种情况下。由于文件的大小必须随着每个新的键值对而增加并不断增加。
标签: python file-handling