聊聊python中的load、loads實現(xiàn)反序列化的問題
load與loads
簡介:
在python自動化中,我們傳遞一些參數(shù)是需要從文件中讀取過來的,讀取過來的字典并非python對象數(shù)據(jù)類型而是string類型。
這樣在我們傳遞參數(shù)的時候就會出現(xiàn)格式不正確的情況,這時候就要用到load實現(xiàn)反序列化
python對象數(shù)據(jù)類型包括list ,dict,tuple,set等
案例1:load
load:load主要處理的是文件流
首先我們新建一個txt文件,文件中寫入一個字典
{"a":"1","b":"2"}
這時候我們用py文件把他讀取出來
f = open(r'C:\Users\張?zhí)熨n\PycharmProjects\pythonProject\test\lianxi\load.txt','r',encoding='utf-8') #通過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'>
可以看到我們讀取出來的內(nèi)容看似字典,但是實際type類型是str類型的,如果在做接口測試的時候,接口需要傳輸
json格式的數(shù)據(jù),這時候就會出現(xiàn)報錯的情況。
解決方案:使用load方式,將文件中的數(shù)據(jù)轉(zhuǎn)換成python對象中的dict字典格式
import json f = open(r'C:\Users\張?zhí)熨n\PycharmProjects\pythonProject\test\lianxi\load.txt','r',encoding='utf-8') #通過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主要處理的是字符流
正常打印一個字符形式的字典,返回結(jié)果為str類型
test = "{'a':'1','b':'2'}" print(test) print(type(test))
返回結(jié)果
{'a':'1','b':'2'}
<class 'str'>
使用loads將sting類型轉(zhuǎn)換為python可讀對象
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實現(xiàn)反序列化的文章就介紹到這了,更多相關(guān)python中的load、loads實現(xiàn)反序列化內(nèi)容請搜索腳本之家以前的文章或繼續(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兼容單引號數(shù)據(jù)的方法
- 解決Python下json.loads()中文字符出錯的問題
- Python json模塊dumps、loads操作示例
- Python Json模塊中dumps、loads、dump、load函數(shù)介紹
- python中的load、loads實現(xiàn)反序列化示列
相關(guān)文章
Python實現(xiàn)對大量表格文件數(shù)據(jù)處理的方法詳解
這篇文章主要為大家介紹了如何基于Python語言實現(xiàn)對大量表格文件加以數(shù)據(jù)截取、逐行求差、跨文件合并等處理,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-05-05pygame多種方式實現(xiàn)屏保操作(自動切換、鼠標切換、鍵盤切換)
這篇文章主要介紹了pygame多種方式實現(xiàn)屏保操作(自動切換、鼠標切換、鍵盤切換),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04python實現(xiàn)人機對戰(zhàn)的井字棋游戲
這篇文章主要為大家詳細介紹了python實現(xiàn)人機對戰(zhàn)的井字棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04Python中schedule模塊定時任務(wù)的使用方法(2)
這篇文章主要介紹了Python中schedule模塊定時任務(wù)的使用方法,文章基于上一篇文章的內(nèi)容展開的后續(xù),需要的朋友可以參考一下2022-05-05