def __init__(self,filename='INCAR'): OrderedDict.__init__(self) self.filename = filename # if the INCAR file does not exist, we create it: if not os.path.exists(filename): f = open(filename, 'w') f.close() f = open(filename,'r') incarString = f.read() f.close() incarlist = [] for data, dataStart, dataEnd in assignment.scanString(incarString): incarlist.append(data) continue # The OrteredDict is populated from the incarlist created above. for item in incarlist: key = item[0] val = item[1:] # We call the OrderedDict __setitem__ to avoid updating the file at this point OrderedDict.__setitem__(self, key, val) continue
def __init__(self, filename='INCAR'): OrderedDict.__init__(self) self.filename = filename if not os.path.exists(filename): return f = open(filename, 'r') lines = f.readlines() f.close() for line in lines: line = line.strip() if len(line) == 0: #empty line, ignore it continue #strip out comments. on finding one, i chop off #everything to the right of the # sign # this mainly happens when reading in other peoples files # we never put comments in the input file when auto-generating them. if '#' in line: i = line.index('#') line = line[0:i] if '=' not in line: #not a keyword=value line # we can ignore the line continue elif ';' in line: #need to split up the line keyvals = line.split(';') for keyval in keyvals: if '=' in keyval: #make sure it is key=val fields = keyval.split('=') if len(fields) != 2: raise Exception, 'key=val split did not give 2 fields:', keyval key = fields[0] val = fields[1] self[key] = val else: fields = line.split('=') if len(fields) != 2: raise Exception, 'key=val split did not give 2 fields:', keyval key = fields[0] val = fields[1] self[key] = val
def __init__(self,filename='INCAR'): OrderedDict.__init__(self) self.filename = filename if not os.path.exists(filename): return f = open(filename,'r') lines = f.readlines() f.close() for line in lines: line = line.strip() if len(line) == 0: #empty line, ignore it continue #strip out comments. on finding one, i chop off #everything to the right of the # sign # this mainly happens when reading in other peoples files # we never put comments in the input file when auto-generating them. if '#' in line: i = line.index('#') line = line[0:i] if '=' not in line: #not a keyword=value line # we can ignore the line continue elif ';' in line: #need to split up the line keyvals = line.split(';') for keyval in keyvals: if '=' in keyval: #make sure it is key=val fields = keyval.split('=') if len(fields) != 2: raise Exception, 'key=val split did not give 2 fields:',keyval key = fields[0] val = fields[1] self[key]=val else: fields = line.split('=') if len(fields) != 2: raise Exception, 'key=val split did not give 2 fields:',keyval key = fields[0] val = fields[1] self[key]=val
def __init__(self, fn=""): OrderedDict.__init__(self) _DpkgDatalist.__init__(self, fn)
def __init__(self, iterable=None, **kwds): OrderedDict.__init__(self) Counter.__init__(self, iterable, **kwds)