有个table文件, 有时候需要处理header , 可以用linecache 模块

#!/usr/bin/env python# -*- coding: ascii -*-import linecacheimport fileinputimport sysfrom collections import defaultdictinputFile = sys.argv[1]headerLine = linecache.getline(inputFile, 1).strip()#print(headerLine)Probenames = headerLine.split("\t")[1:]inputH = open(inputFile, "r")d = defaultdict(list)for line in inputH:    if "Sample" not in line:        z = line.rstrip().split("\t")[1:]        for num, p_data in enumerate(z):            if p_data != "":                d[Probenames[num]].append(p_data)inputH.close()print("NameProbe\tdata")for p in d:    for x in d[p]:        #print(x, d[p])        print("{0}\t{1}".format(p, x))

当然也可以用 fileinput 模块

参考: