聊聊python中的load、loads實(shí)現(xiàn)反序列化的問(wèn)題
load與loads
簡(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等
案例1:load
load:load主要處理的是文件流
首先我們新建一個(gè)txt文件,文件中寫入一個(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打開剛剛新建的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打開剛剛新建的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'>
案例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)python中的load、loads實(shí)現(xiàn)反序列化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python處理json字符串(使用json.loads而不是eval())
- Python中json.load()和json.loads()有哪些區(qū)別
- python dumps和loads區(qū)別詳解
- python3 json數(shù)據(jù)格式的轉(zhuǎn)換(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互轉(zhuǎn)換)
- python json.loads兼容單引號(hào)數(shù)據(jù)的方法
- 解決Python下json.loads()中文字符出錯(cuò)的問(wèn)題
- Python json模塊dumps、loads操作示例
- Python Json模塊中dumps、loads、dump、load函數(shù)介紹
- python中的load、loads實(shí)現(xiàn)反序列化示列
相關(guān)文章
Python實(shí)現(xiàn)對(duì)大量表格文件數(shù)據(jù)處理的方法詳解
這篇文章主要為大家介紹了如何基于Python語(yǔ)言實(shí)現(xiàn)對(duì)大量表格文件加以數(shù)據(jù)截取、逐行求差、跨文件合并等處理,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-05-05OpenCV+python實(shí)現(xiàn)膨脹和腐蝕的示例
這篇文章主要介紹了OpenCV+python實(shí)現(xiàn)膨脹和腐蝕的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12pygame多種方式實(shí)現(xiàn)屏保操作(自動(dòng)切換、鼠標(biāo)切換、鍵盤切換)
這篇文章主要介紹了pygame多種方式實(shí)現(xiàn)屏保操作(自動(dòng)切換、鼠標(biāo)切換、鍵盤切換),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04python實(shí)現(xiàn)人機(jī)對(duì)戰(zhàn)的井字棋游戲
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)人機(jī)對(duì)戰(zhàn)的井字棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04python爬蟲獲取百度首頁(yè)內(nèi)容教學(xué)
在本篇內(nèi)容里小編給大家分享了關(guān)于python爬蟲獲取百度首頁(yè)內(nèi)容教學(xué),需要的朋友們可以跟著學(xué)習(xí)下。2018-12-12Python中schedule模塊定時(shí)任務(wù)的使用方法(2)
這篇文章主要介紹了Python中schedule模塊定時(shí)任務(wù)的使用方法,文章基于上一篇文章的內(nèi)容展開的后續(xù),需要的朋友可以參考一下2022-05-05