這篇文章帶給大家的內容是關於Python下JSON和pickle的用法介紹(附程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
一:簡介
(1)JSON (JavaScript Object Notation) 是一種輕量級(XML重量級)的資料交換格式。
是為了資料交換而客製化的一種規則,它是基於ECMAScript的一個子集。
(2)JSON是一種資料格式!
字串是JSON的表現形式。 (符合JSON格式的字串叫做JSON字串)
(3)Python3中可以使用json 模組來對JSON 資料進行編解碼,它包含了兩個函數:
json.dumps() : 對資料進行編碼。
json.loads(): 對資料進行解碼。
(4)JSON的優點是:易於閱讀、易解析、網路傳輸效率高、跨語言交換資料
二:python 編碼為JSON型別轉換對應表:
_______________________________________________ | python | JSON | ------------------------------------------------- | dict | object | ------------------------------------------------- | list,tuple | array | ------------------------------------------------- | str | string | ------------------------------------------------- | int,float,Enums | number | ------------------------------------------------- | True,False,None | true,false,null | -------------------------------------------------
三: 如果你要處理的是檔案而不是字串,可以使用
json.dump()
json.load()
四:用pickle對資料序列化與反序列化
(1)方法:
pickle.dump()
pickle.load()
pickle.dumps()
kle pic kle loads ()
(2)資料型態:
所有python支援的原生型別:布林值,整數,浮點數,複數,字串,位元組,None。
由任何原生類型組成的列表,元組,字典和集合。
函數,類,類別的實例
五:JSON和pickle之間的區別
JSON序列化和反序列化的目的是將Python資料類型轉換為JSON標準類型,
或將JSON類型的資料轉換為python的資料類型,從而實現不同語言之間的資料交換!
pickle:在程式運作過程中希望保存一個數據,重複使用或傳送給其他人,可以採用這方式
將資料寫入文件,支援所有資料類型!
import json import pickle # ----------------------------------------------# # 反序列化 # ----------------------------------------------# # object json_str = '{"name":"qiyue", "age":18}' # JSON字符串 student = json.loads(json_str) # JSON对象转换为字典 print(student) print(json_str) print(type(student)) # object json_str1 = '[{"name":"qiyue", "age":18, "flag":false}, ' \ '{"name":"qiyue", "age":18}]' # JSON字符串 student1 = json.loads(json_str1) # JSON对象转换为字典 print(type(student1), student1) print(student1[0]) # ----------------------------------------------# # 序列化 # ----------------------------------------------# student2 = [ {"name": "qiyue", "age": 18, "flag": False}, {"name": "qiyue", "age": 18} ] json_str1 = json.dumps(student2) # 转换为字符串后可以利用正则表达式处理字符串 print(type(json_str1), json_str1) # ----------------------------------------------# # 处理的是文件 # ----------------------------------------------# # 将数据写入文件 student3 = [ {"name": "qiyue", "age": 18, "flag": False}, {"name": "qiyue", "age": 18} ] with open('data.json', 'w') as f: json.dump(student3, f) # 读取数据 with open('data.json', 'r') as f: data = json.load(f) # dumps(object)将对象序列化 list_a = ["English", "Math", "Chinese"] list_b = pickle.dumps(list_a) # 序列化数据 print(list_a) print(list_b) # loads(object)将对象原样恢复,并且对象类型也恢复原来的格式 list_c = pickle.loads(list_b) print(list_c) # dumps(object,file)将对象序列化后存储到文件中 group1 = ("baidu", "wen", "qingtian") f1 = open('group.txt', 'wb') pickle.dump(group1, f1, True) f1.close() # load(object, file)将文件中的信息恢复 f2 = open('group.txt', 'rb') t = pickle.load(f2) f2.close() print(t)
以上是Python下JSON和pickle的用法介紹(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python腳本在Unix系統上無法運行的原因包括:1)權限不足,使用chmod xyour_script.py賦予執行權限;2)Shebang行錯誤或缺失,應使用#!/usr/bin/envpython;3)環境變量設置不當,可打印os.environ調試;4)使用錯誤的Python版本,可在Shebang行或命令行指定版本;5)依賴問題,使用虛擬環境隔離依賴;6)語法錯誤,使用python-mpy_compileyour_script.py檢測。

使用Python數組比列表更適合處理大量數值數據。 1)數組更節省內存,2)數組對數值運算更快,3)數組強制類型一致性,4)數組與C語言數組兼容,但在靈活性和便捷性上不如列表。

列表列表更好的forflexibility andmixDatatatypes,何時出色的Sumerical Computitation sand larged數據集。 1)不可使用的列表xbilese xibility xibility xibility xibility xibility xibility xibility xibility xibility xibility xibles and comply offrequent elementChanges.2)

numpymanagesmemoryforlargearraysefefticefticefipedlyuseviews,副本和內存模擬文件.1)viewsAllowSinglicingWithOutCopying,直接modifytheoriginalArray.2)copiesCanbecopy canbecreatedwitheDedwithTheceDwithThecevithThece()methodervingdata.3)metservingdata.3)memore memore-mappingfileShessandAstaStaStstbassbassbassbassbassbassbassbassbassbassbb

Listsinpythondonotrequireimportingamodule,helilearraysfomthearraymoduledoneedanimport.1)列表列表,列表,多功能和canholdMixedDatatatepes.2)arraysaremoremoremoremoremoremoremoremoremoremoremoremoremoremoremoremoremeremeremeremericdatabuteffeftlessdatabutlessdatabutlessfiblesible suriplyElsilesteletselementEltecteSemeTemeSemeSemeSemeTypysemeTypysemeTysemeTypysemeTypepe。

pythonlistscanStoryDatatepe,ArrayModulearRaysStoreOneType,and numpyArraySareSareAraysareSareAraysareSareComputations.1)列出sareversArversAtileButlessMemory-Felide.2)arraymoduleareareMogeMogeNareSaremogeNormogeNoreSoustAta.3)

WhenyouattempttostoreavalueofthewrongdatatypeinaPythonarray,you'llencounteraTypeError.Thisisduetothearraymodule'sstricttypeenforcement,whichrequiresallelementstobeofthesametypeasspecifiedbythetypecode.Forperformancereasons,arraysaremoreefficientthanl

pythonlistsarepartofthestAndArdLibrary,herilearRaysarenot.listsarebuilt-In,多功能,和Rused ForStoringCollections,而EasaraySaraySaraySaraysaraySaraySaraysaraySaraysarrayModuleandleandleandlesscommonlyusedDduetolimitedFunctionalityFunctionalityFunctionality。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

禪工作室 13.0.1
強大的PHP整合開發環境