检查文件是否属于python中的类

时间:2013-06-29 12:54:05

标签: python dictionary python-3.x machine-learning

我有5个班,

即:

earn

acq

money

fx

crude

我有一个大约20000个文件的列表, 我有一个文件“topics.txt”,形式如下:

earn~6~7~4

grain~9~1~2~12

money~4~29

等等.. 其中数字对应于文件名,而单词对应于类。

我需要打印属于我之前提到的类别的所有文件,即; “赚钱”,“收购”,“钱”,“外汇”和“原油”

输出: (挣-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)    

1 个答案:

答案 0 :(得分:0)

除非我误解了这个问题,否则你正在努力工作。另外,我建议不要覆盖sys.stdout

尝试这样的事情:

interesting_types = ['earn', 'acq', 'money', 'fx', 'crude']
with open("in.txt") as in_file, open('out.txt', 'w') as out_file:
    for l in in_file:
        if l:
            type, *filenames = l.strip().split("~")
            if type in interesting_types:
                out_file.write("({}-{})\n".format(type, ",".join(["{}.txt".format(x) for x in filenames])))