Spaces:
No application file
No application file
| import json | |
| import yaml | |
| import importlib | |
| def load_dct_from_file(path, obj_name=None): | |
| if path.endswith(".json"): | |
| dct = load_json(path) | |
| elif path.endswith(".yaml"): | |
| dct = load_yaml(path) | |
| elif path.endswith(".py"): | |
| dct = load_edct_py(path, obj_name) | |
| else: | |
| raise ValueError("unsupported config file") | |
| return dct | |
| def load_json(path): | |
| with open(path, "r") as f: | |
| dct = json.load(f) | |
| return dct | |
| def load_yaml(path): | |
| dct = yaml.load(path) | |
| return dct | |
| def load_pyhon_obj(path, obj_name): | |
| module_name = "module_name" | |
| spec = importlib.util.spec_from_file_location(module_name, path) | |
| module = importlib.util.module_from_spec(spec) | |
| spec.loader.exec_module(module) | |
| return getattr(module, obj_name) | |