#!python3 __all__ = ['read_conf'] import csv class conf_dialect(csv.Dialect): delimiter = '=' quotechar = '"' escapechar = '\\' doublequote = True skipinitialspace = True lineterminator = '\n' quoting = csv.QUOTE_MINIMAL def genestrip(geneorg): for line in geneorg: line = line.strip() if not len(line) or line.startswith('#'): continue yield line def read_conf(filename): with open(filename, 'r', encoding='utf8') as linegen: reader = csv.reader(genestrip(linegen), dialect=conf_dialect) dic = {row[0].strip(): row[1] for row in reader if len(row) >= 2} return dic