欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

簡單談?wù)凱ython中的json與pickle

 更新時間:2017年07月19日 09:21:21   投稿:jingxian  
下面小編就為大家?guī)硪黄唵握務(wù)凱ython中的json與pickle。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

這是用于序列化的兩個模塊:

• json: 用于字符串和python數(shù)據(jù)類型間進(jìn)行轉(zhuǎn)換

• pickle: 用于python特有的類型和python的數(shù)據(jù)類型間進(jìn)行轉(zhuǎn)換

Json 模塊提供了四個功能:dumps、dump、loads、load

pickle 模塊提供了四個功能:dumps、dump、loads、load

import pickle
data = {'k1':123, 'k2':888}
#dumps可以將數(shù)據(jù)類型轉(zhuǎn)換成只有python才認(rèn)識的字符串
p_str = pickle.dumps(data)
print p_str


輸出結(jié)果:

(dp0
S'k2'
p1
I888
sS'k1'
p2
I123
s.

將數(shù)據(jù)轉(zhuǎn)換成只有Python認(rèn)識的字符串,并寫入文件:

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


結(jié)果:

{'k2': 888, 'k1': 123}

文件中顯示的內(nèi)容與上面一致

json的用法和pickle是一樣的

import json
data = {'k1':123, 'k2':888}
p_str = json.dumps(data)
print p_str, type(p_str)


結(jié)果:

{"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))


結(jié)果:

({u'k2': 123, u'k1': 123}, <type 'dict'>)

能夠讀取出來,而且類型也是正確的。

那pickle和json有什么區(qū)別呢?

在上面兩段代碼中,pickle寫入和讀取文件時,用的是 ‘b'模式,而json沒有。

json是可以在不同語言之間交換數(shù)據(jù)的,而pickle只在python之間使用。

json只能序列化最基本的數(shù)據(jù)類型,而pickle可以序列化所有的數(shù)據(jù)類型,包括類,函數(shù)都可以序列化。

以上這篇簡單談?wù)凱ython中的json與pickle就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python 字典中的所有方法及用法

    Python 字典中的所有方法及用法

    這篇文章主要介紹了Python 字典中的所有方法及用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • pytorch報錯問題:ValueError: num_samples should be a positive integer value, but got num_samples=0

    pytorch報錯問題:ValueError: num_samples should be

    這篇文章主要介紹了pytorch報錯問題:ValueError: num_samples should be a positive integer value, but got num_samples=0的解決方案,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Django模板過濾器和繼承示例詳解

    Django模板過濾器和繼承示例詳解

    初入python和django做項目,遇到很多前端頁面代碼冗余的情況,特別是頭部和腳部,代碼都是一樣的,所以下面這篇文章主要給大家介紹了關(guān)于Django模板過濾器和繼承的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • python查找特定名稱文件并按序號、文件名分行打印輸出的方法

    python查找特定名稱文件并按序號、文件名分行打印輸出的方法

    這篇文章主要介紹了python查找特定名稱文件并按序號、文件名分行打印輸出的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Python3 Click模塊的使用方法詳解

    Python3 Click模塊的使用方法詳解

    這篇文章主要介紹了Python3 Click模塊的使用方法詳解,需要的朋友可以參考下
    2020-02-02
  • 使用keras實現(xiàn)BiLSTM+CNN+CRF文字標(biāo)記NER

    使用keras實現(xiàn)BiLSTM+CNN+CRF文字標(biāo)記NER

    這篇文章主要介紹了使用keras實現(xiàn)BiLSTM+CNN+CRF文字標(biāo)記NER,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python多線程+代理池爬取天天基金網(wǎng)、股票數(shù)據(jù)過程解析

    python多線程+代理池爬取天天基金網(wǎng)、股票數(shù)據(jù)過程解析

    這篇文章主要介紹了python多線程+代理池爬取天天基金網(wǎng)、股票數(shù)據(jù)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • Python魔法方法詳解

    Python魔法方法詳解

    今天小編就為大家分享一篇關(guān)于Python魔法方法詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • python網(wǎng)絡(luò)編程學(xué)習(xí)筆記(四):域名系統(tǒng)

    python網(wǎng)絡(luò)編程學(xué)習(xí)筆記(四):域名系統(tǒng)

    當(dāng)我們在上網(wǎng)的時候,通常輸入的是網(wǎng)址,其實這就是一個域名,而我們計算機(jī)網(wǎng)絡(luò)上的計算機(jī)彼此之間只能用IP地址才能相互識別
    2014-06-06
  • 分割python多空格字符串的兩種方法小結(jié)

    分割python多空格字符串的兩種方法小結(jié)

    這篇文章主要介紹了分割python多空格字符串的兩種方法小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05

最新評論