HOWTO · Python
Python에서 사전을 문자열로 변환
이 튜토리얼은 Python에서 사전을 문자열로 또는 그 반대로 변환하는 방법을 보여줍니다.
이 페이지의 내용
Python의 사전은 키:값 쌍에 저장된 데이터 값의 정렬된 컬렉션입니다. 중괄호 안에 요소를 배치하고 쉼표로 구분하여 만들 수 있습니다. 파이썬에서 문자열은 유니코드 문자의 시퀀스입니다. 작은따옴표나 큰따옴표로 문자를 묶어 생성할 수 있습니다.
이 자습서에서는 사전을 문자열로 변환하고 다시 Python으로 변환하는 방법에 대해 설명합니다.
json 모듈을 사용하여 사전을 문자열로 변환하고 Python에서 다시 변환
‘json’은 ‘JavaScript Object Notation’의 약자입니다. 이 모듈은 출력을 일반 텍스트로만 생성합니다. 또한 크로스 플랫폼 및 크로스 버전을 지원합니다.
예를 들어,
import json
dict = {"Hello": 60}
s = json.dumps(dict)
print(s)
d = json.loads(s)
print(d)
출력:
{"Hello": 60}
{'Hello': 60}
json.dumps() 함수는 매개변수로 전달된 json 객체에서 데이터를 추출하여 문자열 형태로 반환합니다. json.loads() 함수는 문자열을 매개변수로 받아 json 객체를 반환합니다.
str() 및 literal_eval() 함수를 ast 라이브러리에서 사용하여 Python에서 사전을 문자열로 변환하고 다시 되돌리기
이 방법은 사전의 길이가 너무 크지 않은 경우에 사용할 수 있습니다. Python의 str() 메서드는 사전을 문자열 표현으로 변환하는 데 사용됩니다. ast 라이브러리의 literal_eval()은 Python에서 문자열을 사전으로 변환하는 데 사용됩니다.
예를 들어,
import ast
dict = {"Hello": 60}
str(dict)
ast.literal_eval(str(dict))
출력:
"{'Hello': 60}"
{'Hello': 60}
pickle 모듈을 사용하여 사전을 문자열로 변환하고 Python에서 다시 변환
pickle 모듈의 dumps() 함수는 Python에서 사전을 바이트 스트림으로 변환하는 데 사용됩니다. loads() 함수는 반대의 작업을 수행합니다. 즉, Python에서 바이트 스트림을 사전으로 다시 변환하는 데 사용됩니다.
예를 들어,
import pickle
dict = {"Hello": 60, "World": 100}
s = pickle.dumps(dict)
print(s)
d = pickle.loads(s)
print(d)
출력:
b'\x80\x04\x95\x19\x00\x00\x00\x00\x00\x00\x00}\x94(\x8c\x05Hello\x94K<\x8c\x05World\x94Kdu.'
{'Hello': 60, 'World': 100}