JAMONGPROJECT
[DAY18] 파일 입출력 본문
2 직렬화
직렬화란?
- 객체를 연속적인 데이터로 변환하는 것. 그래서 이름이 직렬화(Serialize)이다.
- 객체를 컴퓨터에 저장하기 위해서는 직렬화가 필요
Pickle 모듈
- 파이썬에서 객체를 직렬화 하는 모듈은 pickle이다.
- pickle.dump(출력할 객체, 파일객체) : 파일객체에 출력할 객체를 저장
- with open('test.txt','wb') as f:
- pickle.dump([1,2,3,4], f)
- pickle.dumps(출력할 객체) : 출력할 객체를 바이트 형태로 반환.
- pickle.dumps([1,2,3,4])
- pickle.load(파일객체) : pickle을 통해 바이트화 되어 저장된 파일객체를 다시 원본의 모습으로 반환
- pickle.loads(바이트 객체) : pickle을 통해 바이트화 된 객체를 다시 원본의 모습으로 반환
- pickle.loads(pickle.dumps([1,2,3,4]))
Json 모듈
- Json은 pickle과는 또 다른 직렬화 방식으로, 서로 다른 언어로 작성된 프로그램에서 통신할 때 쓸 수도 있고
인간이 보기에 알아보기 편한 형식으로 저장할 수 있기 때문에 널리 사용. 단, json으로 직렬화 할 수 있는 객체는
한정되어 있음.
import json
json.dumps([1, 2, 3, {'4': 5, '6': 7}])
=> String 형식으로 반환
import json
json.loads('[1, 2, 3, {"4": 5, "6": 7}]’)
=> String 형식의 data를 list와 dictionary 등으로 복원
with open('test.txt','w') as f:
json.dump([1, 2, 3, {'4': 5, '6': 7}], f)
=> 파일에 json화된 객체를 저장
import json
with open('test.txt','r') as f:
json.load(f)
=> Json화된 data를 list와 dictionary 등으로 복원
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
#패스트캠퍼스 #패캠챌린지 #수강료0원챌린지 #환급챌린지 #직장인인강 #직장인자기계발
#패캠인강후기 #패스트캠퍼스후기 #오공완
#한번에끝내는컴퓨터공학전공필수&인공지능심화초격차패키지Online
'Challenge > FASTCAMPUS 30일 챌린지' 카테고리의 다른 글
[DAY20] 병렬 처리 (0) | 2023.03.11 |
---|---|
[DAY19] 병렬 처리 (0) | 2023.03.10 |
[DAY17] 파일 입출력 (0) | 2023.03.08 |
[DAY16] 상속과 예외처리 (0) | 2023.03.07 |
[DAY15] 상속과 예외처리 (0) | 2023.03.06 |