python中的load、loads實(shí)現(xiàn)反序列化示列
1、簡(jiǎn)介
在python
自動(dòng)化中,我們傳遞一些參數(shù)是需要從文件中讀取過(guò)來(lái)的,讀取過(guò)來(lái)的字典并非python
對(duì)象數(shù)據(jù)類型而是string
類型。
這樣在我們傳遞參數(shù)的時(shí)候就會(huì)出現(xiàn)格式不正確的情況,這時(shí)候就要用到load
實(shí)現(xiàn)反序列化
python
對(duì)象數(shù)據(jù)類型包括list
,dict
,tuple
,set
等
2、案例1:load
load
:load
主要處理的是文件流
首先我們新建一個(gè)txt文件,文件中寫(xiě)入一個(gè)字典
{"a":"1","b":"2"}
這時(shí)候我們用py文件把他讀取出來(lái)
f = open(r'C:\Users\張?zhí)熨n\PycharmProjects\pythonProject\test\lianxi\load.txt','r',encoding='utf-8') #通過(guò)open打開(kāi)剛剛新建的txt文檔 a = f.read()#讀取f文件下所有的內(nèi)容 print(a) #打印下讀取的內(nèi)容 print(type(a)) #打印下讀取內(nèi)容的格式
返回結(jié)果
D:\software\python.exe C:/Users/張?zhí)熨n/PycharmProjects/pythonProject/test/lianxi/111.py {"a":"1","b":"2"} <class 'str'>
可以看到我們讀取出來(lái)的內(nèi)容看似字典,但是實(shí)際type
類型是str類型的,如果在做接口測(cè)試的時(shí)候,接口需要傳輸
json
格式的數(shù)據(jù),這時(shí)候就會(huì)出現(xiàn)報(bào)錯(cuò)的情況。
解決方案:使用load
方式,將文件中的數(shù)據(jù)轉(zhuǎn)換成python
對(duì)象中的dict
字典格式
import json f = open(r'C:\Users\張?zhí)熨n\PycharmProjects\pythonProject\test\lianxi\load.txt','r',encoding='utf-8') #通過(guò)open打開(kāi)剛剛新建的txt文檔 a = json.load(f) #讀取f文件下所有的內(nèi)容 print(a) #打印下讀取的內(nèi)容 print(type(a)) #打印下讀取內(nèi)容的格式
返回結(jié)果
D:\software\python.exe C:/Users/張?zhí)熨n/PycharmProjects/pythonProject/test/lianxi/111.py {'a': '1', 'b': '2'} <class 'dict'>
3、案例2:loads
loads
:loads
主要處理的是字符流
正常打印一個(gè)字符形式的字典,返回結(jié)果為str類型
test = "{'a':'1','b':'2'}" print(test) print(type(test))
返回結(jié)果
{'a':'1','b':'2'} <class 'str'>
使用loads
將sting
類型轉(zhuǎn)換為python
可讀對(duì)象
import json test = '{"a":"1","b":"2"}' test1 = json.loads(test) print(test1) print(type(test1))
返回結(jié)果
{'a': '1', 'b': '2'} <class 'dict'>
到此這篇關(guān)于python
中的load
、loads
實(shí)現(xiàn)反序列化示列的文章就介紹到這了,更多相關(guān)load與loads
內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。