最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于 Python json中l(wèi)oad和loads區(qū)別

 更新時(shí)間:2021年11月06日 10:01:25   作者:小小程序員ol  
這篇文章主要介紹了關(guān)于 Python json中l(wèi)oad和loads區(qū)別,文章也有簡(jiǎn)單的說(shuō)明它們之間的相同點(diǎn),然后詳細(xì)介紹不同點(diǎn),需要的朋友可以參考一下文章的具體內(nèi)容

一、相同點(diǎn)

  • dump dumps 都實(shí)現(xiàn)了序列化
  • load loads 都實(shí)現(xiàn)反序列化

變量從內(nèi)存中變成可存儲(chǔ)或傳輸?shù)倪^(guò)程稱之為序列化序列化是將對(duì)象狀態(tài)轉(zhuǎn)化為可保存或可傳輸格式的過(guò)程。

變量?jī)?nèi)容從序列化的對(duì)象重新讀到內(nèi)存里稱之為反序列化反序列化是流轉(zhuǎn)換為對(duì)象。

二、區(qū)別

1.load 和 loads (反序列化)

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

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


loads:針對(duì)內(nèi)存對(duì)象,將string轉(zhuǎn)換為dict (將string轉(zhuǎn)換為dict)

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

2.dump 和 dumps(序列化)

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

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


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

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

總結(jié):

根據(jù)序列化和反序列的特性

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

三、JSON進(jìn)階

1.序列化

# 使用class對(duì)象的__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.反序列化

#Python學(xué)習(xí)交流群: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提供兩個(gè)模塊來(lái)實(shí)現(xiàn)序列化:cPicklepickle。這兩個(gè)模塊功能是一樣的,區(qū)別在于cPickle是C語(yǔ)言寫的,速度快,pickle是純Python寫的,速度慢。

  • 變量從內(nèi)存中變成可存儲(chǔ)或傳輸?shù)倪^(guò)程稱之為序列化,在Python中叫pickling
  • 變量?jī)?nèi)容從序列化的對(duì)象重新讀到內(nèi)存里稱之為反序列化,即unpickling
try:
    import cPickle as pickle
except ImportError:
    import pickle

1.將內(nèi)存對(duì)象存取到磁盤

a = dict(a=1, b=2, c=3)
pickle.dumps(a)     # 將對(duì)象序列化為str然后存入文件

a = dict(a=1, b=2, c=3)
pickle.dump(a, open('a.txt', 'wb')) # 使用dump直接把對(duì)象序列化為file-like Object,注意是二進(jìn)制存儲(chǔ)

2.從磁盤讀取到內(nèi)存對(duì)象

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

到此這篇關(guān)于關(guān)于 Python json中l(wèi)oad和loads區(qū)別的文章就介紹到這了,更多相關(guān) Python json中l(wèi)oad和loads區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • pytorch多進(jìn)程加速及代碼優(yōu)化方法

    pytorch多進(jìn)程加速及代碼優(yōu)化方法

    今天小編就為大家分享一篇pytorch多進(jìn)程加速及代碼優(yōu)化方法。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • 在Django中實(shí)現(xiàn)添加user到group并查看

    在Django中實(shí)現(xiàn)添加user到group并查看

    今天小編就為大家分享一篇在Django中實(shí)現(xiàn)添加user到group并查看,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • python 中的int()函數(shù)怎么用

    python 中的int()函數(shù)怎么用

    int() 函數(shù)用于將一個(gè)字符串會(huì)數(shù)字轉(zhuǎn)換為整型。接下來(lái)通過(guò)本文給大家介紹python 中的int()函數(shù)的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2017-10-10
  • Python 中的單分派泛函數(shù)你真的了解嗎

    Python 中的單分派泛函數(shù)你真的了解嗎

    singledispatch是標(biāo)準(zhǔn)庫(kù)functools模塊的函數(shù) 可以把整體方案拆成多個(gè)模塊,甚至可以為你無(wú)法修改的類提供專門的函數(shù),使用@singledispatch裝飾的函數(shù)會(huì)變成泛函數(shù),本文帶領(lǐng)大家再次學(xué)習(xí)Python 中的單分派泛函數(shù),一起學(xué)習(xí)下吧
    2021-06-06
  • Python異步與定時(shí)任務(wù)提高程序并發(fā)性和定時(shí)執(zhí)行效率

    Python異步與定時(shí)任務(wù)提高程序并發(fā)性和定時(shí)執(zhí)行效率

    Python異步與定時(shí)任務(wù)是Python編程中常用的兩種技術(shù),異步任務(wù)可用于高效處理I/O密集型任務(wù),提高程序并發(fā)性;定時(shí)任務(wù)可用于定時(shí)執(zhí)行計(jì)劃任務(wù),提高程序的執(zhí)行效率。這兩種技術(shù)的應(yīng)用有助于提升Python程序的性能和效率
    2023-05-05
  • 使用python把xmind轉(zhuǎn)換成excel測(cè)試用例的實(shí)現(xiàn)代碼

    使用python把xmind轉(zhuǎn)換成excel測(cè)試用例的實(shí)現(xiàn)代碼

    這篇文章主要介紹了使用python把xmind轉(zhuǎn)換成excel測(cè)試用例的實(shí)現(xiàn)代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Flask配置Cors跨域的實(shí)現(xiàn)

    Flask配置Cors跨域的實(shí)現(xiàn)

    這篇文章主要介紹了Flask配置Cors跨域的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 分享Pycharm中一些不為人知的技巧

    分享Pycharm中一些不為人知的技巧

    工欲善其事必先利其器,Pycharm 是最受歡迎的Python開發(fā)工具,它提供的功能非常強(qiáng)大,是構(gòu)建大型項(xiàng)目的理想工具之一,如果能挖掘出里面實(shí)用技巧,能帶來(lái)事半功倍的效果
    2018-04-04
  • Python實(shí)現(xiàn)查找二叉搜索樹第k大的節(jié)點(diǎn)功能示例

    Python實(shí)現(xiàn)查找二叉搜索樹第k大的節(jié)點(diǎn)功能示例

    這篇文章主要介紹了Python實(shí)現(xiàn)查找二叉搜索樹第k大的節(jié)點(diǎn)功能,結(jié)合實(shí)例形式分析了Python二叉搜索樹的定義、查找、遍歷等相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • Python解壓 rar、zip、tar文件的方法

    Python解壓 rar、zip、tar文件的方法

    這篇文章主要介紹了Python解壓 rar、zip、tar文件的方法,文中通過(guò)實(shí)例代碼給大家介紹了python 解壓文件壓縮文件的方法,需要的朋友參考下吧
    2019-11-11

最新評(píng)論

夏河县| 平凉市| 全南县| 遂宁市| 新野县| 衡山县| 和田县| 瑞金市| 犍为县| 朝阳区| 佛冈县| 广水市| 卫辉市| 达日县| 闻喜县| 泗水县| 嵊州市| 抚远县| 慈溪市| 大宁县| 房山区| 布拖县| 县级市| 广汉市| 电白县| 湖口县| 公主岭市| 安图县| 淮北市| 瑞昌市| 右玉县| 靖宇县| 渭南市| 灵川县| 宝山区| 隆林| 剑河县| 南召县| 陵水| 吉水县| 垣曲县|