內建模組 序列化模組

2022-08-02 11:09:09 字數 1811 閱讀 6137

#序列化

#什麼叫序列化

# 資料型別轉為字串的過程

#什麼時候用序列化

#資料從記憶體到檔案

#資料在網路上傳輸 位元組 -字串-字典-

#python 中序列化模組有:

# json 通用 只認識list tuple dict

# pickle python中通用

# shelve

###part1 json

import json

#序列化 dumps 將乙個字典轉換成乙個字串

dic=

str_dic=json.dumps(dic)

print(type(str_dic),str_dic)

#注意,json轉換完的字串型別的字典中的字串是由""表示的

#注意,要用json的loads功能處理的字串型別的字典中的字串必須由""表示

dic2=json.loads(str_dic)#反序列化 loads 將乙個字串格式的字典轉換成乙個字典

print(type(dic2),dic2)

#dump 寫入檔案控制代碼

dic=

f1=open('json_file','w')

json.dump(dic,f1)

f1.close()

#load 從檔案中讀取資料

f1=open('json_file','r')

dic2=json.load(f1)

f1.close()

print(dic2)

# 如果要dump多條資料

# 每一條資料線dumps一下 程式設計字串 然後開啟檔案 write寫進檔案裡 \n

# 讀取的時候按照標誌讀取或者按行讀

# 讀出來之後 再使用loads

dic=

with open('json_file','w') as f1:

str_dic=json.dumps(dic)

f1.write(str_dic+'\n')

f1.write(str_dic+'\n')

# #多次load實現:

with open('json_file') as f1:

for str_dic in f1:

dic=json.loads(str_dic.strip())

print(dic)

#part 2 pickle pickle跟json方法幾乎一致

# 跟json比來有3點不同

# 1.pickle支援更多的資料型別

# 2.pickle的結果是二進位制

# 3.pickle在和檔案互動的時候可以被多次load

#二進位制格式

import pickle

class a:

def __init__(self,name):

self.name=name

alex=a('alex')

print(pickle.dumps(alex))

#dump存入檔案

with open('aaa','wb') as f:

pickle.dump(alex,f)

pickle.dump(alex, f)

pickle.dump(alex, f)

#load獲取檔案

with open('aaa','rb') as f1:

while true:

try:

obj=pickle.load(f1)

print(obj.name)

except eoferror:

break

序列化模組

模組 乙個py檔案就是乙個模組.python開發效率之高 python的模組非常多,第三方庫.模組分類 1,內建模組 登入模組,時間模組,sys模組,os模組 等等.所有的擴充套件模組 3,自定義模組.自己寫的py檔案.序列化模組.序列化 創造乙個序列.例項化 創造乙個例項 物件 將乙個字典通過網路...

序列化模組

什麼叫序列化 將原本的字典 列表等內容轉換成乙個字串的過程就叫做序列化。那為什麼要序列化呢?比如,我們在python 中寫的一段 需要c上使用,那我們怎麼給?我們能想到的方法就是存在檔案裡,然後在c上再從檔案裡讀出來。但是我們都知道,對於檔案來說是沒有 不是所有的資料型別檔案都能夠識別的比如字典 列...

序列化模組

序列化模組 把某資料型別轉化成字串型別 序列化 字串型別轉化為其他資料型別 反序列化 josn模組 只有很少一部分資料型別能通過josn轉化成字串型別 字典 列表 元組 元組會轉化成列表 import json dic str dic json.dumps dic dumps字典型別轉化成字串型別 ...