1. 序列化:把記憶體的一些資料物件存到硬碟。資料物件是一些基本資料型別,如list dict,set等。
2. 反序列化:將硬碟的內容載入成原來的資料物件。
3. 為什麼要用序列化與反序列化:當你想把乙個資料暫時儲存起來而過會又要用的時候,就可以把它先儲存到硬碟,保證安全性。需要時在取出來。
4. json序列化
一般將記憶體資料物件存到硬碟上的方法如下: 檔案只能存字串或二進位制
person=而json序列化的方法如下:f=open("test.text"
,"w")
f.write(str(person))
f.close
f=open("test.text"
,"r")
data=eval(f.read())
f.close
print(data['name'])
import jsonjson序列化只支援簡單的資料轉化。#json
序列化person=
f=open("test.text"
,"w")
f.write(json.dumps(person)) #json.dumps()
將基本資料型別轉為
strf.close()
#json
反序列化
f=open("test.text"
,"r")
data=json.loads(f.read()) #json.loads()
將字串轉為基本資料型別
print(data['age'])
5. pickle序列化可對函式進行序列化。如下:
def函式序列化的是整個函式物件非函式名位址。pickle序列化只存在在python語言。而json與其他語言幾乎通用。hello(name):
print("hello world"
,name)
import pickle
person=
f=open("test.text"
,"wb")
f.write(pickle.dumps(person)) #pickle.dumps()
將資料型別轉為
strf.close()
#pickle
反序列化
f=open("test.text"
,"rb")
data=pickle.loads(f.read()) #pickle.loads()
將字串轉為資料型別
print(data['age'])
print(data["func"]("hhy"))
f.close()
此外:
f.write(pickle.dumps(person)) #等價於pickle.dump(person,f)
data=pickle.loads(f.read()) #
等價於data=pickle.load(f)
ladash 庫 pick和omit函式介紹
lodash 是常用的資料處理庫函式,今天專案中遇到 omit 就簡單寫一下使用方法。我們需要引入lodash,下面是 es6 中的引入方法 const require lodash object pick object,keys 函式返回乙個只有列入挑選key屬性的新物件。其中,引數object為...
Python JSON 基本操作
python version 3.4.4 測試資料 import json aa bb json模組提供的函式 json.dumps 和 json.loads 輸出 print bb data json.dumps bb print data load json.loads data print l...
python json轉化操作
usr bin python coding utf 8 import json import sys import os 重要函式 編碼 把乙個python物件編碼轉換成json字串 json.dumps 解碼 把json格式字串解碼轉換成python物件 json.loads def test00...