python动态生成写文件变量

来源:互联网 发布:富豪移民 知乎 编辑:程序博客网 时间:2024/05/21 09:27

            有这样一种场景,输入一个文件,文件的每行包含多个列,根据某一列进行区分,将这一列相同的行输出到一个文件中。

        因为不知道输入字段的那一列有多少种取值,因此需要动态创建变量,并写文件。

        因为 字典的value值可以重新赋值,因此可以首先判断文件中那一列的取值有多少个,然后将那一列的取值作为key存入字典中,后续使用字典中的这些变量进行写文件。

        代码如下:

#!/usr/bin/env python#coding:utf-8import sys,os,redef process(corpus):    tmp_dict = dict()    fin = open(corpus,'r')    for line in fin:        time1 = line.strip().split('\001')[-2]         if time1 not in tmp_dict:            tmp_dict[time1] = 1        else:            pass     fin.close()        print len(tmp_dict)     for key in tmp_dict:        tmp_dict[key] = open(str(key) + ".txt",'a')            fin1 = open(corpus,'r')    for line in fin1:        time2 = line.strip().split('\001')[-2]        tmp_dict[time2].write(line)        for key in tmp_dict:        tmp_dict[key].close()if __name__ == '__main__':    process("fin.txt")    print 'Done!'        

1 0