from pathlib import Path
import json


def load_config(path_config, config_type='json'):
    """
    加载配置文件。
    如果不是绝对路径，则必须是在config目录下。
    必须是json文件，可以不指定后缀。
    :param path_config: Path变量或者是字符串。
    :param config_type: 配置文件类型，值为'json'时，返回字典；为'txt'时，返回字符串列表
    :return:
    """
    assert config_type in ('json', 'txt')

    # 转变类型
    if isinstance(path_config, str):
        path_config = Path(path_config)

    # 文件是否存在
    if not path_config.exists():
        raise FileNotFoundError(f'找不到配置文件: {str(path_config)}')

    # 读取配置文件
    if config_type == 'json':
        with open(path_config, 'rb') as f:
            params = json.load(f)
    else:
        with open(path_config, 'r') as f:
            params = [key.strip() for key in f.readlines()]
    return params