아래 편집기에서는 Python의 json 및 pickle에 대해 간략하게 설명합니다. 편집자님이 꽤 좋다고 생각하셔서 지금 공유하고 모두에게 참고용으로 드리고자 합니다. 편집기를 따라 살펴보겠습니다
다음은 직렬화에 사용되는 두 개의 모듈입니다:
• json: 문자열과 Python 데이터 유형 간 변환에 사용됨
• 피클: 사용됨 Python 특정 유형과 Python 데이터 유형 간 변환
Json 모듈은 dump, dump, load, load의 네 가지 기능을 제공합니다.
pickle 모듈은 dump, dump, load, load의 네 가지 기능을 제공합니다
import pickle data = {'k1':123, 'k2':888} #dumps可以将数据类型转换成只有python才认识的字符串 p_str = pickle.dumps(data) print p_str 输出结果: (dp0 S'k2' p1 I888 sS'k1' p2 I123 s.
데이터를 Python에서만 인식되는 문자열로 변환하여 파일에 씁니다.
import pickle data = {'k1':123, 'k2':888} #打开文件,然后将data写入 with open('data.pkl', 'wb') as f: pickle.dump(data, f) #同样读取的时候也需要打开文件 with open('data.pkl', 'rb') as f: data_1 = pickle.load(f) print data_1 结果: {'k2': 888, 'k1': 123} 文件中显示的内容与上面一致
json의 사용법은 pickle과 동일합니다
import json data = {'k1':123, 'k2':888} p_str = json.dumps(data) print p_str, type(p_str) 结果: {"k2": 123, "k1": 888} <type 'str'>
사전처럼 보이지만, 하지만 실제로는 문자열이라는 점에 유의하세요. json은 문자열 형식만 가능하므로 사전처럼 보입니다.
import json data = {'k1':123, 'k2':123} #打开文件,然后将data写入 with open('data.pkl', 'w') as f: json.dump(data, f) #同样读取的时候也需要打开文件 with open('data.pkl', 'r') as f: data_1 = json.load(f) print(data_1, type(data_1)) 结果: ({u'k2': 123, u'k1': 123}, <type 'dict'>)
읽을 수 있고, 유형이 정확합니다.
그래서 피클과 json의 차이점은 무엇인가요?
위 두 코드에서 피클은 파일을 쓰고 읽을 때 'b' 모드를 사용하지만 json은 그렇지 않습니다.
json은 서로 다른 언어 간에 데이터를 교환할 수 있는 반면, 피클은 Python 간에만 사용됩니다.
json은 가장 기본적인 데이터 유형만 직렬화할 수 있는 반면, 피클은 클래스와 함수를 포함한 모든 데이터 유형을 직렬화할 수 있습니다.
위 내용은 Python의 json 및 pickle에 대한 간략한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!