JAMONGPROJECT

[DAY18] 파일 입출력 본문

Challenge/FASTCAMPUS 30일 챌린지

[DAY18] 파일 입출력

JAMONGPROJECT 2023. 3. 9. 10:02


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 등으로 복원

 


 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

http://bit.ly/3Y34pE0

 

#패스트캠퍼스 #패캠챌린지 #수강료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
Comments