国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 關于 Python json中load和loads區別

關于 Python json中load和loads區別

2022-02-25 00:25小小程序員ol Python

這篇文章主要介紹了關于 Python json中load和loads區別,文章也有簡單的說明它們之間的相同點,然后詳細介紹不同點,需要的朋友可以參考一下文章的具體內容

一、相同點

  • dump dumps 都實現了序列化
  • load loads 都實現反序列化

變量從內存中變成可存儲或傳輸的過程稱之為序列化序列化是將對象狀態轉化為可保存或可傳輸格式的過程。

變量內容從序列化的對象重新讀到內存里稱之為反序列化反序列化是流轉換為對象。

二、區別

1.load 和 loads (反序列化)

load:針對文件句柄,將json格式的字符轉換為dict,從文件中讀取 (將string轉換為dict)

?
1
a_json = json.load(open('demo.json','r'))

loads:針對內存對象,將string轉換為dict (將string轉換為dict)

?
1
a = json.loads('{'a':'1111','b':'2222'}')

2.dump 和 dumps(序列化)

dump:將dict類型轉換為json字符串格式,寫入到文件 (易存儲)

?
1
2
a_dict = {'a':'1111','b':'2222'}
json.dump(a_dict, open('demo.json', 'w')

dumps:將dict轉換為string (易傳輸)

?
1
2
a_dict = {'a':'1111','b':'2222'}
a_str = json.dumps(a_dict)

總結:

根據序列化和反序列的特性

  • loads: 是將string轉換為dict
  • dumps: 是將dict轉換為string
  • load: 是將里json格式字符串轉化為dict,讀取文件
  • dump: 是將dict類型轉換為json格式字符串,存入文件

三、JSON進階

1.序列化

?
1
2
3
4
5
6
7
8
9
# 使用class對象的__dict__方法
class Student(object):
    def __init__(self, name, age, score):
        self.name = name
        self.age = age
        self.score = score
import json
s = Student('Bob', 20, 88)
print(json.dumps(s, default=lambda obj: obj.__dict__))

2.反序列化

?
1
2
3
4
5
6
7
#Python學習交流群:531509025
 
def dict2student(d):
    return Student(d['name'], d['age'], d['score'])
 
json_str = '{"age": 20, "score": 88, "name": "Bob"}'
print(json.loads(json_str, object_hook=dict2student))

四、python中的序列化和反序列化

Python提供兩個模塊來實現序列化:cPicklepickle。這兩個模塊功能是一樣的,區別在于cPickle是C語言寫的,速度快,pickle是純Python寫的,速度慢。

  • 變量從內存中變成可存儲或傳輸的過程稱之為序列化,在Python中叫pickling
  • 變量內容從序列化的對象重新讀到內存里稱之為反序列化,即unpickling
?
1
2
3
4
try:
    import cPickle as pickle
except ImportError:
    import pickle

1.將內存對象存取到磁盤

?
1
2
3
4
5
a = dict(a=1, b=2, c=3)
pickle.dumps(a)     # 將對象序列化為str然后存入文件
 
a = dict(a=1, b=2, c=3)
pickle.dump(a, open('a.txt', 'wb')) # 使用dump直接把對象序列化為file-like Object,注意是二進制存儲

2.從磁盤讀取到內存對象

?
1
pickle.load(open('a.txt', 'rb'))    #從file-like Object中直接反序列化出對象

到此這篇關于關于 Python json中load和loads區別的文章就介紹到這了,更多相關 Python json中load和loads區別內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://www.cnblogs.com/python960410445/p/14978742.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 99热成人在线| 视频一区中文字幕 | 成人午夜啪啪好大 | 亚洲天堂中文字幕 | 亚洲高清一区二区三区 | 日韩国产欧美视频 | 日本一区二区不卡在线观看 | 免费国产网站 | 日韩中文字幕在线播放 | 亚洲精品一区二区网址 | 亚洲高清色综合 | 国产中文在线 | 国产欧美在线 | 在线日韩欧美 | 91精品国产乱码久久久久久 | 91极品视频在线观看 | 白浆在线 | 亚洲一区二区美女 | 久久久亚洲国产天美传媒修理工 | 亚州中文字幕 | 91黄视频 | 亚洲一区二区三区免费 | 好吊在线观看 | 国产片免费 | 不卡一区 | 国产毛片视频 | 亚洲一视频 | 成人免费视频在线观看 | 欧美一区二区三区在线观看视频 | 国产乱码精品一区二区三区中文 | 国产午夜视频 | 精品一区二区三区在线观看 | 亚洲黄色在线 | 亚洲午夜av久久乱码 | 黄色成人在线视频 | 亚洲精品国产第一综合99久久 | 免费色网站 | 韩国一区二区视频 | 涩涩视频观看 | 中文字幕在线一区 | 玖玖精品 |