特別な名前を抽出し、各ファイルの名前を数えたい一連のファイルがあります。最終結果を以下のような2つの辞書にしたい:
{ID1:{sam:1,maj:5, tif:7, paul:1},ID2={maj=4,bib=5},..}
そのために以下のコードを書きました。
val={}
for m in result:
f= open(path+m[1]+'.txt', 'r')
for line in f:
search_str= "my_name"
if line.startswith(search_str):
linename = line.split(' ',2)[1].strip()
key= get_name_part(linename)
val[key] = val.get(key, 0) + 1
maindict[m[0]]=val
ここで、m[0] は「fileID」(大きな辞書のキー) で、m[1]= は開く必要があるファイルです。
コードを実行すると、内側の辞書は常に同じですが、外側の辞書のキーのみが異なります。次のように:
{ID1:{sam:1,maj:5, tif:7, paul:1},ID2={sam:1,maj:5, tif:7, paul:1},..}
どうすれば修正できますか?