0

私は5つのクラスを持っています、

すなわち:

earn

acq

money

fx

crude

約20000個のファイルのリストがあり、次の形式のドキュメント「topics.txt」があります。

earn~6~7~4

grain~9~1~2~12

money~4~29

など..ここで、数字はファイル名に対応し、単語はクラスに対応します。

以前に言及したクラスのみに該当するすべてのファイルを印刷する必要があります。「獲得」、「acq」、「money」、「fx」、「crude」

ex 出力: (earn-6.txt,7.txt,4.txt)

(acq-5.txt)

等々..

「topics.txt」で利用可能なすべてのクラスを印刷できますが、特定の 5 つのクラスのみを印刷したいと考えています。

import collections
import sys
sys.stdout=open('dicti1.txt','w')
with open('topics.txt') as f:
    d = collections.defaultdict(list)
    for line in f:
        value, *keys = line.strip().split('~')
        for key in filter(None, keys):
            d[key].append(value+".txt")


for i in d.items():
    print(i)    
4

1 に答える 1