Python3 관련

[Python3] python3에서 .json 파일 다루기 - 하이퍼파라메타 저장

녕집사 2022. 2. 21. 21:29
반응형

python3에서 json 파일을 다루는 간단한 방법을 알아보도록 하겠습니다.

 

python에서는 이름 그대로 json이라는 라이브러리로 json 파일을 다룰 수 있도록 지원하고 있습니다.

 

import json

 

만약에 설치가 되어있지 않다면 pip install json을 통해서 설치 후 진행하시기 바랍니다.

 

json 파일의 형식은 대체로 아래와 같은 형식을 띄고 있습니다.

 

{
  "my_name": "Hong_Gil_Dong",
  "my_age": 25,
  "my_hobby": "soccer",
  "my_language": "python3"
}

.json 파일을 python의 경우에는 dictionary 형식으로 불러와서 사용할 수 있는 편리함이 있습니다.

 

혹은 최근 딥러닝 분야나 데이터 처리 분야에서는 하이퍼 파라메타를 json 형식으로 저장하고

수정하기 편리하게 사용하기도 합니다.

 

위의 json 파일을 python에서 그대로 저장하고 불러오는 실습을 해보도록 하죠.

 

우선 저장하는 것을 먼저 하도록 하겠습니다.

 

import json

file_name = 'my_info.json'

my_info = dict()
my_info["my_name"] = "Hong_Gil_Dong"
my_info["my_age"] = 25
my_info["my_hobby"] = "soccer"
my_info["my_language"] = "python3"

with open(file_name,'w') as f_open:
    json.dump(my_info,f_open)

위의 코드를 실행시키면 my_info.json 파일이 저장되고 앞서 기재한 json 파일과 같은 형식으로

파일 내용이 저장되어 있을 겁니다.

 

그러면 이제 불러오는 코드를 보도록 합시다.

 

import json

file_name = 'my_info.json'

with open(file_name, 'r') as f_open:
    my_info = json.load(f_open)

print(my_info)

 

이렇게 불러오면 저장했던 파일을 그대로 불러오는 것을 알 수 있습니다.

 

json의 내부 함수 중 dump와 dumps가 있습니다. 둘의 차이점을 간단하게 나타내면 다음과 같습니다.

  • dump: 첫 인자의 dictionary 변수를 파일로 바로 쓰기를 합니다.
  • dumps: 파일로 쓰는 것이 아닌 json 형식의 string으로 반환하는 역할을 합니다.

따라서 만약에 파일로 쓰고 싶다면 dump로 간단하게 하는 것이 좋으며,

dumps를 사용할 경우에는 file write를 동시에 진행해 주어야 합니다.

 

또한 load와 loads 라는 비슷한 함수가 있습니다. 차이점은 다음과 같습니다.

  • load: 저장된 json 형식의 파일을 읽어올 경우 사용합니다.
  • loads: 저장된 json 파일이 아닌 변수로 선언이 되어있는 dict 형식 변수를 json 형식으로 읽어들입니다.

 

여기까지 json 파일을 파이썬에서 간단하게 다루는 방법에 대해서 알아봤습니다.

 

하이퍼파라메타 혹은 데이터의 파라메타의 용이한 관리를 위해서 json 형식으로 따로 분리하여 저장하고

불러오는 방식으로 활용이 되고 있습니다.

 

json 파일의 다양한 활용을 통해서 조금 더 코딩하는데 유용하게 활용이 되었으면 좋겠습니다.

반응형