def read(self, pfn): fp = open(pfn, "r") self.file_name = pfn self.line1 = fp.readline() self.line2 = fp.readline() # read the dimensions part fp.readline() delim = fp.readline() while delim != "** Parameters **": dim = fp.readline().strip() size = int(fp.readline().strip()) self.dims[dim] = size delim = fp.readline().strip() delim = fp.readline().strip() while delim: p = Parameter() name = fp.readline().strip() p.name = name num_dim = int(fp.readline().strip()) d = [] for ii in xrange(num_dim): d.append(fp.readline().strip()) p.dims = d num_vals = int(fp.readline().strip()) type_t = int(fp.readline().strip()) p.type_code = type_t v = [] for ii in xrange(num_vals): if type_t == 1: v.append(int(fp.readline().strip())) elif type_t == 2: v.append(float(fp.readline().strip())) else: v.append(fp.readline().strip()) p.vals = v self.params[name] = p delim = fp.readline().strip()