日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

json模块的转义dump 和反转义 loap

發(fā)布時(shí)間:2024/1/4 综合教程 28 生活家
生活随笔 收集整理的這篇文章主要介紹了 json模块的转义dump 和反转义 loap 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
# json  轉(zhuǎn)義 dump    反轉(zhuǎn)義 load
# json 模塊的限制
# 1.json格式的key必須是字符串?dāng)?shù)據(jù)類型
# 2.json格式中的字符串只能是""

#---------------------------------------------字典------------------------------------------------------

#-----字典中的 k 值-------------如果是數(shù)字為key,那么dump之后回強(qiáng)轉(zhuǎn)成字符串?dāng)?shù)據(jù)類型

# import json
# dic = {1:2,3:4}
# str_dic = json.dumps(dic) # 使用dumps對(duì)定義好的字典進(jìn)行轉(zhuǎn)義
# print(str_dic) # 結(jié)果為 {"1": 2, "3": 4}
#
# new_dic = json.loads(str_dic) # 使用loads 對(duì)之前轉(zhuǎn)義過的字符串反轉(zhuǎn)義成為之前的數(shù)據(jù)類型--字典
# print(new_dic) #{'1': 2,'3': 4}

#--- dic = {k1:(元組)} 元組會(huì)被強(qiáng)制轉(zhuǎn)換為列表

# import json
# dic ={"k1":"v1","k2":(1,2,3)}
# str_dic = json.dumps(dic) # 將字典轉(zhuǎn)義成為一個(gè)字符串,其中value 如果是元組的話,回別強(qiáng)制轉(zhuǎn)化成為列表
# print(str_dic,type(str_dic)) # 結(jié)果是{"k1": "v1", "k2": [1, 2, 3]} <class 'str'>
# new_dic = json.loads(str_dic) #將之前轉(zhuǎn)化成字符串的字典反轉(zhuǎn)義成為原來的字典,里面的元組還是回保留成為列表數(shù)據(jù)類型.
# print(new_dic,type(new_dic)) # 結(jié)果是{'k1': 'v1', 'k2': [1, 2, 3]} <class 'dict'>


# ----字典( k 不可以使用元組)

# import json
# dic = {(1,2,3):"v1"} # 字典可以被定義
# str_dic = json.dumps(dic) # 因?yàn)樽值渲械?k 值是一個(gè)元組,不支持,所以程序會(huì)報(bào)錯(cuò).
# print(str_dic)


#-----------------------------------------列表-------------------------------------------------

# ---------將列表轉(zhuǎn)義成字符串寫入文件,再讀取文件中的字符串,反轉(zhuǎn)義成為列表打印

# import json
# lst = ["aaa",123,"bbb",12.345]
# with open("lst.txt","w") as f: # 打開一個(gè)文件
# json.dump(lst,f) # 將列表lst 轉(zhuǎn)義成為一個(gè)字符串,并且將此字符串寫入文件中.
# with open("lst.txt") as f: #打開剛剛那個(gè)文件.
# ret = json.load(f) # 將文件中的保存的字符串類型的文件反轉(zhuǎn)義成為之前的列表
# print(ret,type(ret)) # 結(jié)果是 ['aaa', 123, 'bbb', 12.345] <class 'list'>


#------可以多次將列表,字典,dump轉(zhuǎn)義放入到文件,但是不能從文件一次性load 將文件取出來反轉(zhuǎn)義

# import json
# dic = {"abc":(1,2,3)} # 定義一個(gè)字典
# lst = ["aaa","123","bbb","456"] #定義一個(gè)列表
# with open("json_demo","w") as f: #打開文件
# json.dump(lst,f) #將轉(zhuǎn)義后的列表寫入到文件中
# json.dump(dic,f) #將轉(zhuǎn)義后的字典寫入到文件中
# with open("json_demo") as f: #打開文件
# ret = json.loads(f) #將文件中的內(nèi)容進(jìn)行反轉(zhuǎn)義讀出來 ------(不允許將多次寫入的內(nèi)容一次性讀出來,程序會(huì)報(bào)錯(cuò))
# print(ret)

# -------------想將多個(gè)類型的數(shù)據(jù)dumps寫入文件中,并且loads取出來(將文件單獨(dú)轉(zhuǎn)義,每一個(gè)文件寫一行,取出來的時(shí)候也是按一行取出來)

# import json
# dic = {"k1":"v1","k2":"v2"} #定義一個(gè)字典
# lst = [1,2,3,4] #定義一個(gè)列表
# with open("json_dome","w") as f: #打開文件
# str_dic = json.dumps(dic) #將字典進(jìn)行轉(zhuǎn)義
# str_lst = json.dumps(lst) #將列表進(jìn)行轉(zhuǎn)義
# f.write(str_dic+" ") #將轉(zhuǎn)義后的字典(字符串類型)寫入文件中,光標(biāo)跳到下一行開頭
# f.write(str_lst+" ") #將轉(zhuǎn)義后的列表(列表類型) 寫入文件中 ,重新起一行開始寫入
# with open("json_dome") as f: #打開文件獲取到文件句柄
# for i in f: #分別取出文件中每一行
# ret = json.loads(i) #將每一行進(jìn)行反轉(zhuǎn)義(每一行就是之前的一個(gè)文件)
# print(ret)

#------------ 轉(zhuǎn)義過程中有中文 ensure_ascii = False

# import json
# dic = {"a":"b","country":"中國(guó)"}
# # ret = json.dumps(dic,ensure_ascii=True) # {"a": "b", "country": "u4e2du56fd"}
# ret = json.dumps(dic,ensure_ascii=False) # {'a': 'b','country': '中國(guó)'}
# print(ret)
# dic_new = json.loads(ret)
# print(dic_new)

#----------寫入文件過程中有中文

# 中文格式的 ensure_ascii = False
# import json
# dic = {'abc':(1,2,3),'country':'中國(guó)'}
# ret = json.dumps(dic,ensure_ascii = False)
# print(ret)
# dic_new = json.loads(ret)
# print(dic_new)
#
# with open('json_demo','w',encoding='utf-8') as f:
# json.dump(dic,f,ensure_ascii=False)


# json的其他參數(shù),是為了用戶看的更方便,但是會(huì)相對(duì)浪費(fèi)存儲(chǔ)空間
# import json
# data = {'username':['李華','二愣子'],'sex':'male','age':16}
# json_dic2 = json.dumps(data,sort_keys=True,indent=4,separators=(',',':'),ensure_ascii=False)
# print(json_dic2)

# set不能被dump/dumps

總結(jié)

以上是生活随笔為你收集整理的json模块的转义dump 和反转义 loap的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。