Programming/python

Udemy Python Boot Camp Section 30 정리 | 오류, 예외 try, catch, except, finally, json 파일 다루기

자히Zahi 2025. 1. 6. 13:56

* 이 글은 필자가 자신이 배운 내용을 정리하기 위한 것이며, 결코 Udemy 강의를 결제하지 않은 타인의 학습을 고려하여 작성되지 않았습니다.

* 이 글을 학습에 활용하기를 원하신다면, Udemy에서 '[한글자막] Python 부트캠프 : 100개의 프로젝트로 Python 개발 완전 정복' 강의를 구매하시는 것을 권장드립니다.

 

 

예전에 강의에서 try A ~ except B 구문을 다룬 적이 있다. 일단 A를 해보고 안되면 except를 하라는 뜻이다. 오늘은 try ~except의 확장된 버전을 배운다.

try A : A를 해본다.

except B : A에서 예상치못한 오류가 생기면 B를 한다.

else C : A가 예상대로 잘 흘러간다면 C를 한다.

finally D : A가 어떻게 됐든간에 D를 한다.

 

except는 당연히 여러개를 쓸 수 있다.

except indexerror과 except keyerror을 같이 쓰는 식이다.

 

그리고 raise라는 것도 있는데, 이건 인공적으로 오류를 만들어낸다.

예를 들어 파이썬 문법 상으로는 아무런 문제가 없지만 불가능한 수치를 입력한다면 오류를 발생시키는 것이다.

인간의 키를 m(미터)로 입력하는 란에 160을 넣으면 어떻게 될까? 계산은 되겠지만 말도 안 되는 계산값이 나올 것이다.

raise ValueError("인간의 키는 3m를 넘을 수 없습니다!")

 

와 같이 사용할 수 있다.

 

 

이제 json 파일을 읽는 법을 배워볼건데, json은 원래 javascript라는 언어를 위해 만들어진 파일 형식이다. 하지만 javascript 외 다른 언어에도 사용하기 편리하기에 인터넷에서 파일을 공유할 때 가장 많이 사용하는 파일이기도 하다.

 

json 데이터는 마치 파이썬의 딕셔너리를 닮았다. key-value형태가 기본 형식이기 때문이다. 그러므로 사용할 때에도 딕셔너리와 크게 다르지 않다.

json파일을 만들기 위해서는 전에 txt파일로 했던 것처럼 with open을 write 모드로 사용하면 된다.

json파일은 쓸 때에는 json.dump, 읽을 때에는 json.load, 수정할 때에는 json.update함수를 사용한다. 이는 json 모듈을 import 해야 사용할 수 있는데, json 모듈은 파이썬 내장 모듈이므로 (math같이) pip으로 설치할 필요 없이 바로 import 하면 된다.

 

json파일을 json.load로 읽으면 알겠지만 파이썬에서 json파일은 그냥 딕셔너리 형태로 취급된다. (type함수를 쓰면 알 수 있다.)

 

json파일을 업데이트 하는 것은 만들거나 읽는 것보다 조금 어려운데, 그냥 순서를 외워두는 편이 나을 수도 있을듯하여 기본 형식을 첨부한다.

with open("data.json", mode="r") as data_file:
    data = json.load(data_file)
    # 새로운 데이터로 기존 데이터를 업데이트
    data.update(new_data)
with open("data.json", mode="w") as data_file:
    json.dump(data, data_file, indent=4)

 

위 코드면 load, update, dump의 기본 구조는 알 수 있다. 참고로 indent는 들여쓰기를 하여 인간이 json 파일의 구조를 보기 쉽도록 하는 것이다.

 

오늘 글은 여기서 끝.