婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python 存儲json數(shù)據(jù)的操作

python 存儲json數(shù)據(jù)的操作

熱門標(biāo)簽:廣告地圖標(biāo)注app 激戰(zhàn)2地圖標(biāo)注 海南400電話如何申請 公司電話機(jī)器人 陜西金融外呼系統(tǒng) 哈爾濱ai外呼系統(tǒng)定制 白銀外呼系統(tǒng) 唐山智能外呼系統(tǒng)一般多少錢 騰訊外呼線路

本篇我們將學(xué)習(xí)簡單的json數(shù)據(jù)的存儲

首先我們需要引入json模塊:

import json

這里我們模擬一個(gè)常見常見,我們讓用戶輸入用戶名、密碼,在密碼輸入完成后提示用戶再次輸入密碼來確認(rèn)自己的輸入,如果兩次密碼一致,那么我們將用戶名和密碼以json格式寫入文件,否則提示用戶再次輸入密碼。

name = input("please enter your name:")
password = input("please enter your password:")
confirm_password = input("confirm your password:")
while password != confirm_password:
    print("input password inconsistencies,please try again")
    password = input("please enter your password:")
    confirm_password = input("confirm your password:")

我們運(yùn)行下代碼確保我們的準(zhǔn)備工作沒有問題:

ok,我們可以通過用戶輸入拿到用戶名和密碼,接下來,我們就需要將兩者以json格式存入文件了。

首先,我們將我們的輸入轉(zhuǎn)化為json對象:

user_info = json.dumps({'username': name, 'password': password}, sort_keys=True, indent=4, ensure_ascii=False)
print(user_info)

這里我們使用了json.dumps函數(shù),該函數(shù) 用于將 Python 對象編碼成 JSON 字符串。

語法:

def dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True,         allow_nan=True, cls=None, indent=None, separators=None,         default=None, sort_keys=False, **kw) Inferred type: (obj: Any, Any, skipkeys: bool, ensure_ascii: bool, check_circular: bool, allow_nan: bool, cls: Any, indent: Any, separators: Any, default: Any, sort_keys: bool, kw: Dict[str, Any]) -> str

其中sort_keys是用來指定在json格式的對象里面是否按照key的名稱來進(jìn)行排序,indent參數(shù)則指定縮進(jìn)的空格數(shù)目。

最后的輸入格式如下:

{
    "password": "us",
    "username": "us"
}

那么接下來我們就將這個(gè)json對象寫入到文件中去:

 with open('user_info.json', 'w', encoding='utf-8') as json_file:
    json.dump(user_info, json_file, ensure_ascii=False)
    print("write json file success!")

這里我們需要學(xué)習(xí)一個(gè)函數(shù)json.dump:

def dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True,         allow_nan=True, cls=None, indent=None, separators=None,         default=None, sort_keys=False, **kw) Inferred type: (obj: Any, fp: {write}, Any, skipkeys: bool, ensure_ascii: bool, check_circular: bool, allow_nan: bool, cls: Any, indent: Any, separators: Any, default: Any, sort_keys: bool, kw: Dict[str, Any]) -> None 

這個(gè)函數(shù)有兩個(gè)參數(shù)是我們必須要填寫的:obj(我們要存儲的數(shù)據(jù)), fp(文件句柄,也就是我們要存在那個(gè)文件里面)。

ensure_ascii=False這個(gè)參數(shù)是處理我們希望在json對象里面可以包含中文的場景

If ensure_ascii is false, then the strings written to fp can contain non-ASCII characters if they appear in strings contained in obj. Otherwise, all such characters are escaped in JSON strings.

如果不指定ensure_ascii=False,那么當(dāng)我們的數(shù)據(jù)里面包含中文的時(shí)候:

{"username": "zhang\u4e09", "password": "ddd"}

會有如上的顯示內(nèi)容。

我們運(yùn)行程序,依次輸入用戶名和密碼:

please enter your name:us
please enter your password:us
confirm your password:us
{"username": "us", "password": "us"}
write json file success!
Process finished with exit code 0

然后我們看下文本文件中的內(nèi)容:

接下來我們就需要學(xué)習(xí)一下怎么讀取json格式的內(nèi)容了。

with open('user_info.json', 'r', encoding='utf-8') as json_file:
    data = json.load(json_file)
    print(data)

讀取json數(shù)據(jù)需要使用json.load函數(shù):

def load(fp, *, cls=None, object_hook=None, parse_float=None,         parse_int=None, parse_constant=None, object_pairs_hook=None, **kw) Inferred type: (fp: {read}, Any, cls: Any, object_hook: Any, parse_float: Any, parse_int: Any, parse_constant: Any, object_pairs_hook: Any, kw: Dict[str, Any]) -> Any

這里我們需要提供一個(gè)參數(shù)fp,也就是我們要操作的文件句柄。

程序運(yùn)行輸出:

{"username": "us", "password": "us"}

我們可以打印一下json.load返回的是什么類型的:

 print(type(data))

輸出:

class 'str'>

可見,這是一個(gè)字符串,這是為什么呢?難道不應(yīng)該返回的是python對應(yīng)的對象嗎?

在上面的代碼中我們在寫入文件前面調(diào)用過:

user_info = json.dumps({'username': name, 'password': password}, ensure_ascii=False)

這一行代碼,大家還記得吧,它返回的是一個(gè)json字符串,所以上面的例子中我們需要使用json.loads重新反序列化為python對象,這一點(diǎn)大家留意一下,上面的例子我們是為了給大家演示json.loads的相關(guān)用法,使用如下:

data = json.loads(data)
print(type(data))
print(data['username'])

如果沒有這行代碼,那么 data = json.load(json_file)返回的就是我們自己組織的數(shù)據(jù)結(jié)構(gòu)了,如果還是{‘username': name, ‘password': password}這種格式,那么返回就是一個(gè)字典對象。

下面我們在通過一個(gè)list來看一下:

data = [1,2,3,4,5]
with open('user_info.json', 'w', encoding='utf-8') as json_file:
    json.dump(data, json_file, ensure_ascii=False)
with open('user_info.json', 'r', encoding='utf-8') as json_file:
    data = json.load(json_file)
    print(type(data))
    print(data)

運(yùn)行程序:

class 'list'>

[1, 2, 3, 4, 5]

補(bǔ)充:Python創(chuàng)建并保存json文件,支持?jǐn)?shù)據(jù)更新保存

大家還是直接看代碼吧~

import json
class Params():
    """Class that loads hyperparameters from a json file.
        Example:
        ```
        params = Params(json_path)
        print(params.learning_rate)
        params.learning_rate = 0.5  # change the value of learning_rate in params
        ```
        """
    def __init__(self, json_path):
        with open(json_path) as f:
            params = json.load(f)  # 將json格式數(shù)據(jù)轉(zhuǎn)換為字典
            self.__dict__.update(params)
    def save(self, json_path):
        with open(json_path, 'w') as f:
            json.dump(self.__dict__, f, indent=4)  # indent縮進(jìn)級別進(jìn)行漂亮打印
    def update(self, json_path):
        """Loads parameters from json file"""
        with open(json_path) as f:
            params = json.load(f)
            self.__dict__.update(params)
    @property  # Python內(nèi)置的@property裝飾器就是負(fù)責(zé)把一個(gè)方法變成屬性調(diào)用的
    def dict(self):
        """Gives dict-like access to Params instance by `params.dict['learning_rate']"""
        return self.__dict__
if __name__ == '__main__':
    parameters = {"SEED": 1,
                  "dataset": "Omniglot",
                  "meta_lr": 1e-3,
                  "num_episodes": 5000,
                  "num_classes": 5,
                  "num_samples": 1,
                  "num_query": 10,
                  "num_steps": 100,
                  "num_inner_tasks": 8,
                  "num_train_updates": 1,
                  "num_eval_updates": 1,
                  "save_summary_steps": 100,
                  "num_workers": 1
                  }
    json_str = json.dumps(parameters, indent=4)
    with open('params.json', 'w') as f:  # 創(chuàng)建一個(gè)params.json文件
        f.write(json_str)  # 將json_str寫到文件中
    params = Params('params.json')
    params.SEED = 2   # 修改json中的數(shù)據(jù)
    params.save('params.json')  # 將修改后的數(shù)據(jù)保存

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Python中rapidjson參數(shù)校驗(yàn)實(shí)現(xiàn)
  • Python常用配置文件ini、json、yaml讀寫總結(jié)
  • Python中json.load()和json.loads()有哪些區(qū)別
  • Python中json.dumps()函數(shù)的使用解析
  • 解決python3 json數(shù)據(jù)包含中文的讀寫問題
  • python json.dumps中文亂碼問題解決
  • Python如何把不同類型數(shù)據(jù)的json序列化
  • python之json文件轉(zhuǎn)xml文件案例講解

標(biāo)簽:常德 鷹潭 四川 惠州 益陽 黑龍江 上海 黔西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python 存儲json數(shù)據(jù)的操作》,本文關(guān)鍵詞  python,存儲,json,數(shù)據(jù),的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python 存儲json數(shù)據(jù)的操作》相關(guān)的同類信息!
  • 本頁收集關(guān)于python 存儲json數(shù)據(jù)的操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    91福利资源站| 日韩欧美一级片| 久久精品国产亚洲a| 中文字幕国产一区二区| 欧美调教femdomvk| 欧美性淫爽ww久久久久无| 高清国产午夜精品久久久久久| 成人国产精品免费网站| 日韩一级二级三级精品视频| 色偷偷成人一区二区三区91| 欧美大片拔萝卜| 制服丝袜一区二区三区| 亚洲另类春色校园小说| 激情综合网av| 风流少妇一区二区| 一本在线高清不卡dvd| 欧美日韩一级二级| 欧美日韩国产一级片| 在线成人小视频| 日韩精品一区在线观看| 欧美成人精品二区三区99精品| 在线观看国产一区二区| 亚洲免费毛片网站| 亚洲成人综合网站| 久草中文综合在线| 成人久久久精品乱码一区二区三区| 欧美美女喷水视频| 欧美一级免费大片| 精品少妇一区二区三区视频免付费 | 国产一区 二区 三区一级| 国产91精品入口| 欧美视频在线观看一区二区| 欧美mv日韩mv国产网站app| 国产精品卡一卡二| 亚洲四区在线观看| 久久99这里只有精品| 91免费视频网| 91精品免费在线观看| 亚洲欧美在线高清| 视频一区视频二区中文字幕| 成人短视频下载| 精品美女一区二区| 亚洲国产精品一区二区尤物区| 欧美经典一区二区三区| 亚洲成av人综合在线观看| 精品无人码麻豆乱码1区2区| 久久66热re国产| 亚洲高清免费一级二级三级| 成人永久aaa| 欧洲日韩一区二区三区| 国产亲近乱来精品视频| 免费亚洲电影在线| 欧美怡红院视频| 欧美本精品男人aⅴ天堂| 亚洲一二三四久久| 91美女视频网站| 久久久99免费| 久久99最新地址| 日韩欧美成人一区二区| 天天综合网天天综合色| 国产精品亚洲人在线观看| 欧美一区二区免费观在线| 亚洲二区视频在线| 色婷婷一区二区三区四区| 国产精品网站在线播放| 高清成人在线观看| 久久一留热品黄| 国产精品综合二区| 精品国产自在久精品国产| 亚洲国产一二三| 欧美日韩在线播| 国产精品另类一区| 不卡av免费在线观看| 亚洲欧美中日韩| 91国产免费看| 一区二区欧美在线观看| 欧美午夜精品电影| 午夜视频一区二区三区| 91精品国产综合久久福利| 美日韩一级片在线观看| 精品久久久久久久一区二区蜜臀| 欧美裸体一区二区三区| 亚洲成人免费电影| 日韩欧美一区二区视频| 免费av网站大全久久| 美日韩一级片在线观看| 这里是久久伊人| 国产精品一区二区视频| 亚洲欧洲无码一区二区三区| 色综合久久久久| 亚洲国产成人av网| 欧美电视剧免费全集观看| 国产精品69久久久久水密桃| 亚洲免费电影在线| 91精品国产欧美一区二区| 国产精品亚洲成人| 亚洲毛片av在线| 欧美一级高清片| 国产中文一区二区三区| 久久久99久久| 在线观看三级视频欧美| 久久激情综合网| 日本一区二区成人| 欧美三级日韩三级国产三级| 精品一区二区三区在线观看| 亚洲欧洲日产国码二区| 91麻豆精品91久久久久同性| 成人不卡免费av| 免费在线观看视频一区| 中文字幕免费一区| 精品视频全国免费看| 高清不卡在线观看| 午夜激情久久久| 国产精品国产三级国产普通话蜜臀| 美女一区二区三区在线观看| 中文字幕一区二区三区四区| 欧美三级在线播放| 国产精华液一区二区三区| 亚洲精品videosex极品| 国产亚洲精品久| 日韩视频一区二区| 欧美日韩在线一区二区| 成人综合婷婷国产精品久久蜜臀| 国产亚洲精品bt天堂精选| 欧美午夜电影网| 麻豆精品在线播放| 欧美三电影在线| 经典三级一区二区| 亚洲午夜精品17c| 亚洲色图欧洲色图| 国产精品另类一区| 久久久久久久免费视频了| 日韩一区二区三区免费观看| 91在线你懂得| 972aa.com艺术欧美| 精品亚洲免费视频| 天天色天天操综合| 亚洲成年人影院| 亚洲国产精品一区二区www | 精品少妇一区二区三区日产乱码| 亚洲欧美另类图片小说| 久久精品视频在线免费观看| 欧美在线视频全部完| 一本色道a无线码一区v| 色屁屁一区二区| 97精品电影院| 成人激情校园春色| 福利视频网站一区二区三区| 国产成人综合在线| 懂色av一区二区三区免费看| 成人精品亚洲人成在线| 99久久精品免费看国产免费软件| 亚洲成人动漫在线观看| 亚洲成人免费电影| 热久久免费视频| 精品无码三级在线观看视频| 激情综合色综合久久| 国产一区二区三区久久悠悠色av| 中文无字幕一区二区三区| 欧美激情资源网| 亚洲欧洲日本在线| 午夜电影一区二区| 久久精品国产99国产精品| 国产一区二区三区黄视频 | 国产成人综合自拍| 国产成人精品www牛牛影视| 国产成人aaaa| av综合在线播放| 欧美老肥妇做.爰bbww| 日韩欧美一级二级三级久久久| 精品一区二区三区av| 久久av中文字幕片| 波多野洁衣一区| 色哟哟国产精品| 91麻豆精品久久久久蜜臀| 久久精品一区二区| 亚洲综合一二三区| 美腿丝袜一区二区三区| av午夜一区麻豆| 91精品国产全国免费观看| 久久久蜜桃精品| 亚洲另类一区二区| 国精产品一区一区三区mba视频| 亚洲成人久久影院| 国产一区三区三区| 欧美性做爰猛烈叫床潮| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲色图在线播放| 亚洲欧美视频一区| 麻豆国产一区二区| 国产精品456| 欧美一区二区三区视频免费播放| 国产成人高清视频| 欧美另类一区二区三区| 国产精品美女久久久久久2018| 色婷婷久久99综合精品jk白丝| 成人一区在线观看| 精品欧美一区二区三区精品久久 | 宅男噜噜噜66一区二区66| www国产精品av|