import argparse import json import sys g_args = None json_obj = None def get_servers(): global json_obj js = json_obj _servers = js["servers"] servers_dic = {} for s in _servers: servers_dic[s] = {} servers_dic[s]["name"] = s servers_dic[s]["url"] = _servers[s]["url"] return servers_dic def read_json(): global g_args json_path = g_args.config if json_path is None: print("specify json path") sys.exit() with open(json_path, "r", encoding="utf-8") as json_f: js = json.load(json_f) return js def get_config(): global json_obj return json_obj def init_config(): global g_args if g_args is not None: return g_args parser = argparse.ArgumentParser(description="Help") parser.add_argument("-config", type=str) _args = parser.parse_args() g_args = _args global json_obj json_obj = read_json() return _args if __name__ == "__main__": args = init_config() print(args.config)