오지's blog

github에 코드 올릴때 key값을 숨기는 방법 - python 이용 본문

개발노트/Python

github에 코드 올릴때 key값을 숨기는 방법 - python 이용

오지구영ojjy90 2021. 3. 20. 19:53
728x90
반응형

github등 git서버에 올릴때 개인적으로 받은 api key등을 올리지 않도록 gitignore에 secret.json을 등록하고 이 키값은 json파일에 등록

json파일을 읽어서 해당 key값에 해당하는 value를 읽어오는 방식이다.

 

코드

def get_apikey(key_name, json_filename='secret.json'):
    # 해당 py파일의 속해 있는 폴더가 base_dir
    BASE_DIR = Path(__file__).resolve().parent # == os.path.dirname(os.path.abspath(__file__))
    # 해당 프로젝트 파일내 json파일이 있으므로 폴더패스와 파일이름을 합쳐 json_file의 절대경로값 얻는다
    json_filepath = os.path.join(BASE_DIR, json_filename)

    # json_file이 존재하지 않으면 error 발생
    if(not os.path.isfile(json_filepath)):
        print("JSON File Not Found")
        raise FileNotFoundError

    # json파일이 존재하면 json파일내의 모든 key, value값을 얻는다
    with open(json_filepath) as f:
        json_p = json.loads(f.read())
        print("json_p:  ", json_p)

    try:
        # key에 해당하는 value를 얻는다 ex. json_p["Authorization"]
        value=json_p[key_name]
        print(value)
        return value
    except KeyError:
        # 해당하는 key_name이 없는 경우이다
        error_msg = "ERROR: Unvalid Key"
        return error_msg
Comments