# coding: utf-8 import numpy as np import re import bunch import yaml import os _dir_path = os.path.dirname(os.path.realpath(__file__)) # Add support for '1e3' kind of float _loader = yaml.SafeLoader _loader.add_implicit_resolver( u'tag:yaml.org,2002:float', re.compile(u'''^(?: [-+]?(?:[0-9][0-9_]*)\\.[0-9_]*(?:[eE][-+]?[0-9]+)? |[-+]?(?:[0-9][0-9_]*)(?:[eE][-+]?[0-9]+) |\\.[0-9_]+(?:[eE][-+][0-9]+)? |[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]* |[-+]?\\.(?:inf|Inf|INF) |\\.(?:nan|NaN|NAN))$''', re.X), list(u'-+0123456789.')) def load_params(filename): with open(filename) as f: para_disk = yaml.load(f, Loader=_loader) return bunch.bunchify(para_disk) def default_params(): return load_params(_dir_path + '/pp_params.yml')