摘要:對象標記是一種輕量級的數據交換格式。的數據格式其實就是里面的字典格式,里面可以包含方括號括起來的數組,也就是里面的列表。
json and picle
? JSON(JavaScript Object Notation, JS 對象標記) 是一種輕量級的數據交換格式。JSON的數據格式其實就是python里面的字典格式,里面可以包含方括號括起來的數組,也就是python里面的列表。
在python中,有專門處理json格式的模塊—— json 和 picle模塊
Json 模塊提供了四個方法: dumps、dump、loads、load
pickle 模塊也提供了四個功能:dumps、dump、loads、load
json 總結:
json 序列化操作方法:
dumps:無文件操作
dump:序列化+寫入文件
json反序列話方法:
loads:無文件操作
load:讀文件+反序列化
json模塊序列化的數據更通用
picle模塊序列化的數據僅Python可用,但功能強大,可以序列化函數
json模塊可以序列化和反序列化的數據類型見Python對象(obj)與json對象的對應關系表
格式化寫入文件利用 indent = 4
dumps and dumpdumps and dump 序列化方法
dumps 只完成了序列化str
dump必須傳文件描述符,將序列化的str保存到文件中
代碼:
>>> import json >>> json.dumps([]) # dumps可以格式化所有的基本數據類型為字符串 "[]" >>> json.dumps(1) # 數字 "1" >>> json.dumps("1") # 字符串 ""1"" >>> dict = {"name":"tom","age":23} >>> json.dumps(dict) # 字典 "{"name": "tom", "age": 23}"
a = {"name":"Tom", "age":23} with open("test.json", "w", encoding="utf-8") as f: f.write(json.dumps(a,indent=4)) # indent 格式化保存字典,默認為None,小于0為零個空格 # json.dump(a,f,indent=4) #和上面的效果一樣loads and load
loads and load 反序列化方法
loads 只完成了反序列化
load 只接受文件描述符,完成了讀取文件和反序列化
代碼:
>>> json.loads("{"name":"Tom", "age":23}") {"age": 23, "name": "Tom"} with open("test.json","r",encoding="utf-8") as f: aa = json.load(f.read()) f.seek(0) bb = json.load(f) print(aa) print(bb)
json and picle 模塊
json模塊和picle模塊都有 dumps、dump、loads、load四種方法,而且用法一樣。
json模塊序列化出來的是通用格式,其它編程語言都認識,就是普通的字符串
picle模塊序列化出來的只有python可以認識,其他編程語言不認識的,表現為亂碼
picle可以序列化函數,但是其他文件想用該函數,在該文件中需要有該文件的定義(定義和參數必須相同,內容可以不同)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/44603.html
摘要:字段由腳本命令組成的字典,這些命令運行在包的各個生命周期中。在打包過程中,如果遇到字段會優先使用字段表示的路徑下的文件,如果不存在,則用字段表示的作為入口,并按照的規范打包。其中還分析了文件中字段和字段的不同以及和兩個字段的區別。 所有用npm下載的包或者要上傳至npm的模塊都會有一個package.json文件,這個文件總是存在于模塊(或者包)的根目錄下,這個文件到底是干嘛的,現在就...
摘要:無需手動拷貝文件或者創建軟鏈接到目錄,有更優雅的解決方案。這是因為識別協議的,得知這個包需要直接從文件系統中獲取,會自動創建軟鏈接到中,完成安裝過程。 nodejs 社區乃至 Web 前端工程化領域發展到今天,作為 node 自帶的包管理工具的 npm 已經成為每個前端開發者必備的工具。但是現實狀況是,我們很多人對這個nodejs基礎設施的使用和了解還停留在: 會用 npm insta...
require gitlab mudule對象化 require最終會把每個模塊都轉化為對象 function Module(id, parent) { this.id = id; this.exports = {}; this.parent = parent; updateChildren(parent, this, false); this.filena...
摘要:為何有查閱了的文檔,并沒有找到字段的定義,直到才知道它是中最早就提出的概念。況且目前大部分仍是采用,所以便使用了另一個字段。所以目前主流的打包工具都是支持的,鑒于其優點,字段很有可能加入的規范之中。 引入 最近團隊的一個同學在搞 npm library 源碼的調試插件,因為內部的一個組件庫含有大量的邏輯,在某個項目中不經意就出現一個磨人的 bug,但是組件庫發布都是打包編譯后的代碼,而...
摘要:起初只是一個美化文檔的工具,但是事情到年發生了變化。對于來說,這意味著有問題的布局。和朝夕相伴的有和最終確定的。他們通過增加前綴的辦法,解決了命名沖突的問題。長長的前綴將成為歷史,歡迎來到未來的世界。 譯者注(GeoffZhu): 這篇適合一些使用過預處理CSS的開發者,比如less,sass或stylus,如果你都沒用過,那你一定不是個好司機。在PostCSS中早就可以使用CSS M...
摘要:在中,要說如果有幾乎會在每一個文件都要用到的一個全局函數和一個全局對象,那應該是非和莫屬了。它們是模塊機制的基石。若仍未返回,則為指定的模塊路徑依次加上,和,判斷是否存在,若存在則返回拼接后的路徑。 在 Node.js 中,要說如果有幾乎會在每一個文件都要用到的一個全局函數和一個全局對象,那應該是非 require 和 module.exports 莫屬了。它們是 Node.js 模塊...
閱讀 3072·2021-10-11 10:58
閱讀 1989·2021-09-24 09:47
閱讀 503·2019-08-30 14:19
閱讀 1684·2019-08-30 13:58
閱讀 1444·2019-08-29 15:26
閱讀 641·2019-08-26 13:45
閱讀 2139·2019-08-26 11:53
閱讀 1772·2019-08-26 11:30