python中json格式處理和字典的關(guān)系
前言:作為測試工程師都知道,json格式的文件使我們常用的一種數(shù)據(jù)存放形式,那么對于python文件的處理,python語言有著得天獨厚的條件,json的本質(zhì)是鍵值對形式存儲的,這就非常像python語言中的字典,所以有很多字典形式的函數(shù)與方法,是直接可以使用的。
今天我們先講一下編寫python腳本處理json的核心功能,有些散亂,后期在進行整體腳本的編寫。
1、json文件讀取后的操作
json文件讀取后的操作和字典的操作一樣,可以將dict中相關(guān)的內(nèi)置方法都繼承過來,但是json文件中會有l(wèi)ist形式和dict形式的混合存在。
此時要注意區(qū)分。
json文件數(shù)據(jù)結(jié)構(gòu)走的是dict的結(jié)構(gòu),鍵值對
(1)修改值非常方便,
json["id"]=3001
(2)修改鍵就麻煩一點。
dict字典沒有直接修改鍵的概念與方法,
修改鍵:先把原有的鍵值對刪除,在添加新的鍵值對,注意獲取舊鍵值對的value,傳遞給新的鍵值對的value
獲取value:value=json['request']["session_id"]
刪除鍵值對:json['request'].pop("session_id")
新增鍵值對:json['request'].setdefault("operation_id",value)2、python遞歸路徑文件夾中的所有文件
def jsonfilePath_read(inputfilePath, outfilepath):
rightCount = 0
errorCount = 0
for file in os.listdir(inputfilePath):
try:
print(file)
read_jsonfile_change2(str(inputfilePath + '/' + file), outfilepath + '/' + file)
print(file + '修改成功')
rightCount += 1
except:
print(file + '文件有誤修改失敗')
errorCount += 1
print('文件修改完成 ', rightCount, '個文件成功', errorCount, '個文件有誤')解說核心代碼:
核心代碼:
for file in os.listdir(inputfilePath):
#file就是當(dāng)前路徑中的所有文件名,使用的時候別忘了路徑+'/' + file
try:
....inputfilePath + '/' + file
except:
print().....3、json文件的讀取與寫入新文件
讀一遍寫一遍可以實現(xiàn)json的格式化,解決json在txt文件中是單行顯示的問題。
# 讀取文件
with open('file/test.json', 'r', encoding='utf8') as f:
json_data = json.load(f)
jsondict = json_data
# 寫入新文件
with open('outfile/test.json', 'w', encoding='utf8') as r:
json.dump(jsondict, r, ensure_ascii=False, indent=4)
print('新文件生成完成')核心點說明:
讀取、寫入encoding='utf8' 防止編碼問題 indent=4,好像是空4個格,美觀輸出
到此這篇關(guān)于python中json格式處理和字典的關(guān)系的文章就介紹到這了,更多相關(guān)python json字典關(guān)系內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解python數(shù)組中的符號...與:符號的不同之處
這篇文章主要介紹了詳解python數(shù)組中的符號...與:符號的不同之處,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
TorchVision Transforms API目標(biāo)檢測實例語義分割視頻類
這篇文章主要為大家介紹了TorchVision Transforms API大升級,支持目標(biāo)檢測、實例/語義分割及視頻類任務(wù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11
Python面向?qū)ο笾蓡T相關(guān)知識總結(jié)
通過面向?qū)ο筮M行編程時,會遇到很多種情況,也會使用不同的成員來實現(xiàn),接下來我們來逐一介紹成員特性和應(yīng)用場景,需要的朋友可以參考下2021-06-06
python 中的collections.OrderedDict() 用法
這篇文章主要介紹了python 中的collections.OrderedDict() 用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05

